excel - 使用 StyleFrame 的 to_excel 方法将多个 python 数据帧复制到 Excel 中

标签 excel python-3.x pandas styleframe

我有多个数据帧,df1、df2 等。每个数据帧包含不同数量的列和行。使用 StyleFrame 库,是否可以使用 to_excel 方法通过指定单元格位置将所有数据帧一一复制到 Excel 文件中的一张工作表中?目前,这就是我正在做的事情:

将 df1 写入 Excel 文件的 Sheet1

writer = StyleFrame.ExcelWriter("filename")
sf1 = StyleFrame(df1)

#Perform formatting using apply_column_style, apply_headers_style etc.

sf1.to_excel(writer, sheet_name='Sheet1')

将 df2 写入 Excel 文件的 Sheet1

writer = StyleFrame.ExcelWriter("filename")
sf2 = StyleFrame(df2)

#Perform formatting using apply_column_style, apply_headers_style etc.

sf2.to_excel(writer, sheet_name='Sheet1')    #Incorrectly overwrites df1 data in the excel

writer.save()
writer.close()

但是,sf2.to_excel() 方法会覆盖 excel 中的 df1 数据。我正在寻找的是复制从单元格位置(例如“A2”)开始的 df1 数据,在 Sheet1 中,然后复制从位置(例如“B31”)开始的 sf2 数据,在同一张表中,依此类推。

最佳答案

是的。就像 pandas.to_excel 支持 startrowstartcol 参数一样,StyleFrame.to_excel 也是如此。

该 API 与 pandas 的 API 几乎相同: 您需要创建一个 excel_writer 对象,在两个样式框架上调用 to_excel,然后调用 excel_writer.save:

from StyleFrame import StyleFrame, Styler

sf1 = StyleFrame({'a': [1]}, Styler(bg_color='yellow'))
sf2 = StyleFrame({'b': [1]}, Styler(bg_color='blue'))

excel_writer = StyleFrame.ExcelWriter('test.xlsx')
sf1.to_excel(excel_writer)
sf2.to_excel(excel_writer, startcol=3, startrow=2)  # both are zero-based
excel_writer.save()

输出

enter image description here

关于excel - 使用 StyleFrame 的 to_excel 方法将多个 python 数据帧复制到 Excel 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50149391/

相关文章:

python - 在加载到 MySQL 之前使用 Python 3 从文件中删除无效的 UTF-8 字符

python - 在 Pandas 数据框中高效快速地查找和匹配唯一值

excel - 找到 Mr & Mrs 时插入额外的行,然后将数据复制到空白行

excel - 在Excel中拆分两个单词

ASP.NET CSV 响应、Excel 指数格式问题

vba - 循环访问 EXCEL VBA 字典

python-3.x - 如何在多元时间序列数据中使用特征缩放?

python - Pandas 转换列表不一致的行为

python - 使用一系列数组的内容扩展数据帧

python - 如何根据列中的列表元素对数据框进行分组