代码
def get_data(self, q):
create_time = q.created_at
beijing = MYDatetime.utc2beijing(create_time)
str_time = MYDatetime.clock2string(beijing)
data = dict()
data["时间"] = str_time
data["姓名"] = q.name
data["电话"] = q.cellphone
return data
def save_xlsx(self, data_list):
file_path_temp = os.getcwd()
out_path = file_path_temp + "/static/file/"
now_date = datetime.now()
now_string = MYDatetime.clock2string(now_date)
name = now_string + "-" + '.xlsx'
path = out_path + name
writer = pd.ExcelWriter(path)
# 并发获得
count = data_list.count() if data_list.count() else 1
workers = min(200, count)
with futures.ThreadPoolExecutor(workers) as executor:
res = executor.map(self.get_data, data_list)
data = list(res)
df1 = pd.DataFrame(data=data) # 列表形式直接写入
df1.to_excel(writer, 'Sheet1')
writer.save()
return "static/file/" + name