使用 Styleframe 将多个 pandas 数据帧保存到 Excel 文件,每个数据帧都在不同的 sheet
Saving multiple pandas dataframes to Excel file with Styleframe, each one on a different sheet
我正在尝试将多个 pandas 数据帧保存到 excel。我希望它们都在同一个 excel 文件中,但每个文件都在不同的 sheet.
这就是我目前的情况。这只是将我所有的数据帧保存到单独的文件中。我用过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: 'Worksheet' object has no attribute 'sheet_view'
有什么建议吗?
您使用 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')
我正在尝试将多个 pandas 数据帧保存到 excel。我希望它们都在同一个 excel 文件中,但每个文件都在不同的 sheet.
这就是我目前的情况。这只是将我所有的数据帧保存到单独的文件中。我用过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: 'Worksheet' object has no attribute 'sheet_view'
有什么建议吗?
您使用 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')