如何使用Python(for循环)结合XlsxWriter将打印结果导出至Excel
使用XlsxWriter将打印结果导出到Excel
你可以通过以下代码,把原打印的内容直接写入Excel文件,同时保留和原打印一致的格式:
import xlsxwriter a = 3 mylist = [{'a': 1, 'b': 2}, {'c': 3, 'd': 4}, {'e': 5, 'f': 6}] # 创建Excel工作簿和工作表 workbook = xlsxwriter.Workbook('result_output.xlsx') worksheet = workbook.add_worksheet() # 设置加粗格式,突出Result标题 bold_format = workbook.add_format({'bold': True}) row = 0 # 跟踪当前写入的行号 for i, l in zip(mylist, range(a)): # 写入Result标题行 worksheet.write(row, 0, f'Result : {l}', bold_format) row += 1 # 逐个写入字典的键值对 for key, value in i.items(): worksheet.write(row, 0, f'{key} : {value}') row += 1 # 每个结果之间空一行,和原打印格式对齐 row += 1 # 必须关闭工作簿才能保存文件 workbook.close()
如果希望输出更规整的表格形式(分列展示结果编号、键、值),可以用这个版本:
import xlsxwriter a = 3 mylist = [{'a': 1, 'b': 2}, {'c': 3, 'd': 4}, {'e': 5, 'f': 6}] workbook = xlsxwriter.Workbook('result_table.xlsx') worksheet = workbook.add_worksheet() # 写入表头 headers = ['Result编号', '键', '值'] for col, header in enumerate(headers): worksheet.write(0, col, header, workbook.add_format({'bold': True})) row = 1 for i, l in zip(mylist, range(a)): for key, value in i.items(): worksheet.write(row, 0, l) worksheet.write(row, 1, key) worksheet.write(row, 2, value) row += 1 # 调整列宽,避免内容被截断 worksheet.set_column(0, 2, 12) workbook.close()
关键说明
- 两个版本都会生成可直接打开的Excel文件,文件名分别为
result_output.xlsx和result_table.xlsx。 - 第一个版本完全复刻原打印的文本格式,第二个版本更适合做数据统计和后续分析。
- 操作完成后一定要调用
workbook.close(),否则Excel文件会损坏无法打开。
内容的提问来源于stack exchange,提问作者Happy Man
相关产品推荐
相关产品推荐

