36 lines
1.2 KiB
Python
36 lines
1.2 KiB
Python
from db.sql_db import DBTASK, DBRESUME, SqliteSqlalchemy
|
|
import json
|
|
import pandas as pd
|
|
import pathlib
|
|
from decouple import config
|
|
|
|
BASE_PATH = config('BASE_PATH', default='E://pyptoject//yj_resume//')
|
|
#BASE_PATH = config('BASE_PATH', default='D://PycharmProject//yj_resume//uploads//')
|
|
|
|
|
|
# 导出数据到excel
|
|
def export_to_excel(task_id):
|
|
# 获取所有成功的信息
|
|
list_data = SqliteSqlalchemy().session.query(DBRESUME).filter_by(task_id=task_id, status=1).all()
|
|
pd_data = []
|
|
for data in list_data:
|
|
pd_data.append(json.loads(data.data_info))
|
|
data_frame = pd.DataFrame(pd_data)
|
|
# 导出到excel
|
|
pathxx = pathlib.Path(BASE_PATH).joinpath(task_id)
|
|
pathxx = pathxx.joinpath(f"{task_id}.xlsx")
|
|
data_frame.to_excel(pathxx, index=False)
|
|
|
|
|
|
def export_task_data_to_excel(task_id):
|
|
pathxx = pathlib.Path(BASE_PATH).joinpath(task_id)
|
|
pathxx = pathxx.joinpath(f"{task_id}.xlsx")
|
|
if pathxx.exists():
|
|
return pathxx
|
|
session = SqliteSqlalchemy().session
|
|
task = session.query(DBTASK).filter_by(id=task_id).first()
|
|
if not task or task.status == 0 or task.status == 2:
|
|
return None
|
|
export_to_excel(task_id)
|
|
return pathxx
|