python - 将具有 3 列通用标题的数据框列表导出到 Excel
问题描述
我有一个已经有列标题的数据框列表,我想知道如何导出到 excel,它显示了三列的另一个常见标题,即 q1,它是第一个具有索引的数据框,依此类推。
colnames=['q1','q2','q3']
table=[pd.DataFrame([['tom', 10], ['nick', 15], ['juli', 14]], columns = ['Name', 'Age']),pd.DataFrame([['Nick', 10], ['Allen', 15], ['YOLO', 14]], columns = ['Name', 'Age']),
pd.DataFrame([['james', 10], ['jack', 15], ['YOLO', 14],['jill', 10], ['twitter', 15], ['fb', 14]], columns = ['Name', 'Age'])]
如果可能,excel中的预期结果将采用这种格式
q1 q2 q3
name age name age name age
0 tom 10 0 Nick 10 0 james 10
1 nick 15 1 Allen 15 1 jack 15
2 juli 14 2 YOLO 14 2 YOLO 14
3 jill 10
4 twitter 15
5 fb 14
先感谢您。
解决方案
这是一个工作示例,只需安装xlwt
软件包,您就可以将其转储到excel
文件中。(请注意,您还导出索引,您可以将其导出到 csv 而无需替换方法to_csv
并添加标志index=False
- 但您将失去合并标题列的所需效果)
import pandas as pd
table=[pd.DataFrame([['tom', 10], ['nick', 15], ['juli', 14]], columns = ['Name', 'Age']),
pd.DataFrame([['Nick', 10], ['Allen', 15], ['YOLO', 14]], columns = ['Name', 'Age']),
pd.DataFrame([['james', 10], ['jack', 15], ['YOLO', 14],['jill', 10], ['twitter', 15], ['fb', 14]], columns = ['Name', 'Age'])]
names = ['q1', 'q2', 'q3']
for t, name in zip(table, names):
t.columns = pd.MultiIndex.from_product([[name], t.columns])
pd.concat(table, axis=1, ).to_excel("my_excel.xls")
推荐阅读
- java - 如何通过 asyncTask 从不同的 URL 下载不同文件夹中的文件?
- python - Python:如何用字符串和数字重命名列
- smali - dexlib2 - 分支覆盖检测
- matlab - Imwarp 图像 Simulink Matlab 功能块可变大小
- python-3.x - Hyperopt:重新运行时更改最佳参数
- r - 是否可以通过管道传输数据框变量
- android - 如何在 Flutter 中直接拨打电话
- string - Julia - 在文件中打印或写入字符串中的反斜杠
- c# - ClickOnce 更新 www 服务器链接出现 404 错误
- algorithm - 给定文件名列表,返回具有相同内容的文件列表 - 面试问题