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

使用Xlsxwriter结合年份季度两个列表生成指定格式Excel行

代码修改方案

现有代码存在两个核心问题:

  • 循环内固定写入A1单元格,所有拼接结果反复覆盖同一位置,最终仅会保留最后一个值"2008 q4"
  • 逐次写入单元格的方式效率较低,可先生成完整的目标值列表再一次性写入整行

修改后的代码如下:

import xlsxwriter

workbook = xlsxwriter.Workbook('template.xlsx')
worksheet_data = workbook.add_worksheet("data")

# 去掉原列表中冗余的尾部空格,拼接时统一处理格式更可控
year = ["2001", "2002", "2003", "2004", "2005", "2006", "2007", "2008"]
quarter = ['q1', 'q2', 'q3', 'q4']

# 列表推导式生成所有符合格式的目标值
target_list = [f"{y} {q}" for y in year for q in quarter]
# 从A1单元格开始,把所有值按顺序写入同一行的不同列
worksheet_data.write_row("A1", target_list)

workbook.close()

如果实际需求是每个季度值单独占一行(全部放在A列),可以把写入逻辑替换为以下代码:

# 每个值单独占一行的写法
for row_index, value in enumerate(target_list):
    # 第一个参数是行号,第二个是列号(0对应A列),第三个是写入值
    worksheet_data.write(row_index, 0, value)

内容的提问来源于stack exchange,提问作者project.py

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.10 12:15:01