python - 将字典写入 xlsx 文件
问题描述
我有一本看起来像这样的字典:
{'4F703:00013:02038': {'100.000, Oryza rufipogon x Oryza sativa', '100.000,
Oryza rufipogon', '100.000, Oryza sativa', '100.000,
Oryza sativa Japonica Group', '100.000, Oryza sativa f. spontanea'}}
我想把这个字典写成一个 xlsx 文件,所以我做了这个代码:
workbook=xlsxwriter.Workbook('demo.xlsx')
worksheet=workbook.add_worksheet()
row=0
col=0
for key in new_dict.keys():
row += 1
worksheet.write(row,col, key)
for item in new_dict[key]:
print(item,row,col+1)
worksheet.write(row,col + 1,item)
col += 1
col = 0
workbook.close()
但是我得到这个输出:
我想这样:
我究竟做错了什么?
解决方案
使用pandas.ExcelWriter
大大简化了这个任务:
import pandas as pd
data = {'4F703:00013:02038': {'100.000, Oryza sativa', '100.000, Oryza rufipogon x Oryza sativa', '100.000, Oryza rufipogon', '100.000, Oryza sativa f. spontanea', '100.000, Oryza sativa Japonica Group'}}
new_data = [[a, [i.split(', ') for i in b]] for a, b in data.items()]
with pd.ExcelWriter('spreadsheet.xlsx') as writer:
df = pd.DataFrame([i for a, [c, *d] in new_data for i in [[a, *c], *[['', *k] for k in d]]])
df.to_excel(writer, sheet_name='sheet1', startrow=0, index=False)
writer.save()
推荐阅读
- python - Appending dictionaries when in a for loop
- asp.net - 我无法访问在母版页中创建的公共数据集,在子页面中。我如何访问..?
- node.js - Node Cipheriv Warning in Azure DevOps Extension - Release Task
- java - 用Java从文本文件中读取数据
- html - 将图像放置在英雄文本右侧的最佳方法是什么(请参阅线框。)
- neo4j - 将 Neo4j 迁移到 Cosmos DB Graph 数据库
- python - 如何恢复全连接层中的权重子集?
- azure - AppService 无法部署我的大型站点
- django - Django模型和博客作者权限问题
- java - 为什么我的 if 语句没有启动我的活动?