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

使用xlsxwriter导出Python循环结果至Excel仅显示表头与单行的问题求助

Excel仅导出一行数据的修复方案

原代码的核心问题

  1. 每次循环都重新创建data字典,仅存储当前循环的单条数据,之前收集的数据被完全覆盖
  2. 在循环内部调用workbook.close(),导致第一次循环执行后就关闭了工作簿,后续数据根本无法写入
  3. 重复写入表头,属于无效操作

修复后的代码

response_data = x.json()  # 避免使用内置类型名"list"作为变量名

workbook = xlsxwriter.Workbook('test.xlsx')
worksheet = workbook.add_worksheet()

# 初始化列表存储所有数据
item1_list = []
item2_list = []

# 遍历JSON数据,批量收集所有目标值
for item in response_data:
    # 注意:原代码中的value1/value2应为当前循环的item,此处修正
    item1 = item['valueID1']
    item2 = item['valueID2']
    item1_list.append(item1)
    item2_list.append(item2)

# 构建包含完整数据的字典
data = {
    "item1": item1_list,
    "item2": item2_list
}

# 一次性写入表头和整列数据
col_num = 0
for key, value in data.items():
    worksheet.write(0, col_num, key)
    worksheet.write_column(1, col_num, value)
    col_num += 1

# 所有数据写入完成后再关闭工作簿
workbook.close()

关键修改说明

  • 替换变量名list为response_data,避免与Python内置list类型冲突
  • 先通过循环批量收集所有数据到列表,再统一写入Excel,避免单次循环覆盖数据
  • 将workbook.close()移至所有写入操作之后,确保全部数据都能写入工作簿
  • 仅写入一次表头,避免重复操作

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 09:36:20