python-3.x - 使用 Styleframe 将多个 pandas 数据帧保存到 Excel 文件,每个数据帧在不同的工作表上
问题描述
我正在尝试将一些熊猫数据框保存到 excel 中。我希望它们都在同一个 excel 文件中,但每个文件都在不同的工作表上。
这就是我目前所拥有的。这只是将我所有的数据框保存到单独的文件中。我用过StyleFrame
。这些数据框中的一些值具有\n
. 当我写入 excel 时,我希望它在每个单元格中将其注册为新行。
使用StyleFrame
是我能找到的唯一解决方案。
file_path = "path_to_save_files"
StyleFrame(df1).to_excel(file_path + '/df1.xlsx').save()
StyleFrame(df2).to_excel(file_path + '/df2.xlsx').save()
StyleFrame(df3).to_excel(file_path + '/df3.xlsx').save()
这是我尝试过的。这通常会起作用:
writer = pd.ExcelWriter(f'{file_path}/output.xlsx', engine='xlsxwriter')
StyleFrame(df1).to_excel(writer, sheet_name = "sheet1")
StyleFrame(df2).to_excel(writer, sheet_name = "sheet2")
StyleFrame(df3).to_excel(writer, sheet_name = "sheet3")
但是,因为我正在使用StyleFrame
,所以出现错误:
AttributeError:“工作表”对象没有属性“工作表视图”
有什么建议么?
解决方案
xlsxwriter
您将其用作引擎有什么特别的原因吗?styleframe
仅支持openpyxl
,因此这将起作用:
writer = pd.ExcelWriter(f'{file_path}/output.xlsx', engine='openpyxl')
df1 = pd.DataFrame({'a':[1]})
df2 = pd.DataFrame({'b':[2]})
StyleFrame(df1).to_excel(writer, sheet_name="sheet1")
StyleFrame(df2).to_excel(writer, sheet_name="sheet2")
writer.save()
请注意,您必须显式调用writer.save()
(就像pandas.DataFrame
直接使用时一样)。
有一个快捷方式pd.ExcelWriter(f'{file_path}/output.xlsx', engine='openpyxl')
:
writer = StyleFrame.ExcelWriter(f'{file_path}/output.xlsx')
推荐阅读
- operating-system - 为什么创建过程需要在写入新文件之前读取新文件的 inode?
- android - 有没有人解决了 Facebook 应用程序的问题,限制 TOS 失败,与登录失败有关,您无法重新创建?
- php - 我不想显示随机帖子,而是显示相同标签的帖子
- sql-server - Serilog.Sinks.MsSqlServer 停止写入数据库
- java - 将多个 Arduino 传感器值数据绘制到 Java GUI 中
- mysql - 10.2.25-MariaDB 不允许使用多种语言的数据
- firebase - Cloud Storage:downloadUrl 类型不匹配:推断类型为 Task
但是乌里!预计 - c# - IBM MQ 连接使用用户凭证而不是配置从服务登录
- django - 如何在 DjangoRestFramework 中与 APITestCase client.patch() 一起发送数据?
- php - RewriteRule 适用于特定目录