Python基于pandas库导出excel文件
实列代码:
import time
import pandas as pd
from io import BytesIO
from flask import make_response,
def export_navi():
# 所有DataFrame合并集合
df_list = []
# 创建一个数据集
datas = []
#(选择)第一种:动态数据列表
devices, count = get_navi_page(1, 999999, startTime=startTime, endTime=endTime, num=num)
# [所用卡ID, 定位时间, 经度, 维度, 航向, 航速]
for k, v in enumerate(devices, start=1):
data = {
"所用卡ID": num, "定位时间": v.get("strftime"), "经度": v.get("longitude"), "维度": v.get("latitude"), "航向": v.get("direction"), "航速": v.get("speed")}
datas.append(data)
#(选择)第二种:静态数据列表
datas = [{
Cars: [BMW, Audi, Bugatti, Porsche, Volkswagen],
MaxSpeed: [220, 230, 240, 210, 190],
Color: [Black, Red, Blue,Violet, White]}];
# 将数据集转换为DataFrame
df = pd.DataFrame(datas)
df_list.append(df)
# 将所有的DataFrame 合并成一个
df_all = pd.concat(df_list,ignore_index=True)
# 创建Excel文件
excel_file = pd.ExcelWriter(navi+time.strftime("%Y%m%d%H%M%S", time.localtime(time.time()))+.xlsx, engine=openpyxl)
# 将数据写入Excel文件中
df_all.to_excel(excel_file, sheet_name=Sheet1, index=False)
# 使用ExcelWriter对象的_save方法保存文件
excel_file._save()
# 读取Excel文件内容
with open(navi+time.strftime("%Y%m%d%H%M%S", time.localtime(time.time()))+.xlsx, rb) as file:
file_content = file.read()
# 设置响应Header,指定内容类型以及文件名
response = make_response(file_content)
response.headers[Content-Type] = application/x-xlsx
response.headers[Content-Disposition] = attachment; filename=navi+time.strftime("%Y%m%d%H%M%S", time.localtime(time.time()))+.xlsx
return response
