You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用XlsxWriter高效导出Pandas DataFrame指定列至Excel?

高效导出Pandas DataFrame指定列到Excel的方法

你当前用嵌套循环逐单元格写入的方式性能极低,这是因为逐单元格调用worksheet.write会产生大量API调用开销。要保持XlsxWriter的高性能,直接用Pandas原生的to_excel方法结合指定列即可,完全不需要自己写循环:

核心解决方案

  1. 先筛选出需要导出的列,同时处理空值(把NaN替换为空字符串)
  2. 用XlsxWriter作为引擎,调用to_excel批量写入,性能和全量导出一致

代码示例

import pandas as pd

# 假设selected_columns是你要导出的目标列名列表
# 筛选列并替换空值为''
df_target = df[selected_columns].fillna('')

# 使用XlsxWriter引擎写入Excel
with pd.ExcelWriter('你的输出文件.xlsx', engine='xlsxwriter') as writer:
    # startrow=1对应你原来代码中从第2行开始写入(索引从0算)
    # index=False表示不导出DataFrame的索引列
    df_target.to_excel(writer, sheet_name='Sheet1', index=False, startrow=1)
    
    # 如果需要对工作表做额外格式设置(比如表头样式),可以获取worksheet对象
    worksheet = writer.sheets['Sheet1']
    # 这里可以添加格式操作,比如设置表头加粗等,不影响写入性能

为什么这个方法高效?

Pandas的to_excel结合XlsxWriter引擎是批量写入数据,底层做了优化,避免了逐单元格写入的频繁开销,和你之前写全量数据的速度几乎一样。而你原来的嵌套循环是逐行逐单元格调用写入接口,时间复杂度是O(行数×列数),数据量越大越慢。

内容的提问来源于stack exchange,提问作者euh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 12:28:19