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
经验分享 程序员 微信小程序 职场和发展