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