python - 无法将 DataFrame 列表保存到多表 Excel 电子表格
问题描述
我试图对这里的问题做同样的事情,并遵循答案给出的方法。这是我的代码:
import pandas as pd
import xlsxwriter
mylist=[df_1,df_2,df_3]
for n,df in enumerate(mylist):
df=df[df['Name']=='Anna'].copy() # filter each dataframe in the list according to some condition
# print(df)
writer = pd.ExcelWriter('data.xlsx', engine='xlsxwriter')
df.to_excel(writer,'sheet%s' % n)
writer.save()
writer.close()
我print(df)
在 jupyter notebook 中使用来仔细检查循环是否有效并且每个数据帧都被成功过滤,并且确实如此。我的问题是,在输出的 excel 文件中,只有第一个过滤的数据框已保存,列表df_1
中sheet0
的其他数据框尚未保存。
我的代码有什么问题?
解决方案
您在循环内部有一些应该在外部的部分。在此处参考文档:https ://xlsxwriter.readthedocs.io/example_pandas_multiple.html
writer = pd.ExcelWriter('data.xlsx', engine='xlsxwriter')
mylist=[df_1,df_2,df_3]
for n,df in enumerate(mylist):
df=df[df['Name']=='Anna'].copy() # filter each dataframe in the list according to some condition
# print(df)
df.to_excel(writer,'sheet%s' % n)
writer.save()
推荐阅读
- kotlin - 在中心旋转等边三角形
- c++ - 最大公用除法器程序未按预期工作
- mysql - Lua 无效向量字段 - Mysql 行的 For 循环
- python-3.x - Python 3.8 将“open”视为导入的 openpyxl 方法而不是内置函数
- javascript - 尝试在javascript中为数据网格构建多维数组
- javascript - 引导表单验证 - 检查该字段是否为空,并且包含有效的 URL
- python - UnboundLocalError:未定义局部变量“开始”
- ios - Xcode 单元测试导航
- c# - ASP .net 表单——Rider
- javascript - 如果没有用户给定的值 React 如何提交 defaultValue