python-3.x - Python:Excel的不同维度的字典
问题描述
有没有什么有效的方法可以使用 pandas 编写不同维度的字典来表现出色?
例子:
import pandas as pd
mylist1=[7,8,'woo']
mylist2=[[1,2,3],[4,5,6],['foo','boo','doo']]
d=dict(y=mylist1,x=mylist2)
df=pd.DataFrame.from_dict(d, orient='index').transpose().fillna('')
writer = pd.ExcelWriter('output.xls',engine = 'xlsxwriter')
df.to_excel(writer)
writer.save()
目前的结果,
想要的结果,
请注意,我的数据库比这个简单的例子大得多。所以一个通用的答案将不胜感激。
解决方案
您可以在导出到 excel 之前先修复您的数据框:
df=pd.DataFrame.from_dict(d, orient='index').transpose()
df = pd.concat([df["y"],pd.DataFrame(df["x"].tolist(),columns=list("x"*len(df["x"])))],axis=1)
或者在上游做:
df = pd.DataFrame([[a, *b] for a,b in zip(mylist1, mylist2)],columns=list("yxxx"))
两者产生相同的结果:
y x x x
0 7 1 2 3
1 8 4 5 6
2 woo foo boo doo
推荐阅读
- javascript - 如何制作一个以自身为目标的JS函数以避免冲突
- javascript - Chrome 不断为 SSE 发送 GET
- javascript - 在 Svelte 组件中切换类
- python - 对 Pandas DataFrame.apply() 的困惑
- javascript - Javascript 访问剪贴板,没有 http/local 文件上的事件
- flutter - 无法通过调用 ScaffoldState().removeCurrentSnackBar() 来移除当前的小吃店
- c++ - 未从编译静态库 C++(Linux 内核)中获取 .a 文件
- c++ - 模块最终允许标准库实现中的可读名称吗?
- node.js - 我收到 TypeError: Cannot read property 'numberOfSuits' of undefined 当我运行下面的代码在我的 firebase 数据库上发布新订单时
- json - 高效的 MongoDB 查询从一个集合中获取报告并插入到另一个集合中