如何使用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开始 - 遍历字典的每个键:
- 先把键写入当前行的第一列(索引0),写完后行号+1
- 接着遍历该键对应的所有子列表,把每个子列表的两个元素分别写入当前行的第一列和第二列,每处理完一个子列表行号+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
相关产品推荐
相关产品推荐

