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

如何使用xlwt模块将含列表值的Python字典导出为指定格式Excel

用xlwt实现指定格式的字典导出到Excel

没问题,我帮你写了一段适配需求的代码,能完美实现你要的输出格式:

import xlwt

# 你的目标字典
dict1 = {'X':[['a','1'], ['b','3'], ['c','2']], 'Y':[['a','8'], ['b','13']], 'Z':[['a','5'], ['b','7'], ['f','8']]}

# 创建工作簿和工作表
workbook = xlwt.Workbook(encoding='utf-8')
worksheet = workbook.add_sheet('Sheet1')

row_num = 0

# 遍历字典的每个键和对应的数据
for key, values in dict1.items():
    # 写入键到当前行的第一列
    worksheet.write(row_num, 0, key)
    row_num += 1
    # 遍历每个子列表,写入对应的元素
    for sub_list in values:
        # 写入子列表的第一个元素到当前行第一列
        worksheet.write(row_num, 0, sub_list[0])
        # 写入子列表的第二个元素到当前行第二列
        worksheet.write(row_num, 1, sub_list[1])
        row_num += 1

# 保存Excel文件
workbook.save('output.xls')

代码说明:

  • 首先导入xlwt模块,创建一个UTF-8编码的工作簿,并添加名为Sheet1的工作表
  • 用row_num变量跟踪当前写入的行号,从0开始
  • 遍历字典的每个键:
    1. 先把键写入当前行的第一列(索引0),写完后行号+1
    2. 接着遍历该键对应的所有子列表,把每个子列表的两个元素分别写入当前行的第一列和第二列,每处理完一个子列表行号+1
  • 最后将工作簿保存为output.xls文件

生成的Excel格式完全符合你的要求:

  • X单独占一行,后面依次是a 1、b 3、c 2各占一行
  • Y单独占一行,后面依次是a 8、b 13各占一行
  • Z单独占一行,后面依次是a 5、b 7、f 8各占一行

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 11:11:20