我有多个数据格式,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数据。我想要的是复制从单元格位置开始的df1数据,比如"A2",在Sheet1中,然后在sf2数据从位置开始,说"B31",在同一个工作表中等等。
发布于 2018-05-03 09:36:29
是。就像pandas.to_excel支持startrow和startcol参数一样,StyleFrame.to_excel也支持。
API与pandas的基本相同:您需要创建一个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()输出

https://stackoverflow.com/questions/50149391
复制相似问题