我有一些复杂的格式保存在一个模板文件中,我需要保存来自panda数据框的数据。问题是当我使用pd.to保存到这个工作表时,panda覆盖了格式。有没有办法以某种方式将df中的“粘贴值”到工作表中?我使用的是panda 0.17
import openpyxl
import pandas as pd
wb= openpyxl.load_workbook('H:/template.xlsx')
sheet = wb.get_sheet_by_name('spam')
sheet.title = 'df data'
wb.save('H:/df_out.xlsx')
xlr = pd.ExcelWriter('df_out.xlsx')
df.to_excel(xlr, 'df data')
xlr.save()
5条答案
按热度按时间yzuktlbb1#
下面是使用
clipboard
的解决方案:ecfsfe2w2#
你应该先得到你的数据形状来确定循环的范围
wvmv3b1j3#
我尝试从
pandas.DataFrame.to_excel
添加更多选项到Charlie的答案中:使用示例,注意
openpyxl
将索引名称放在实际索引下面的 * 第二行 *,这与DataFrame.to_excel
的行为不同:relj7zay4#
openpyxl 2.4自带了一个实用程序,可以将Pandas Dataframe转换成openpyxl可以直接使用的格式。代码如下所示:
可以调整枚举的开始位置以将单元格放置在所需的位置。
有关详细信息,请参见openpyxl documentation。
trnvg8h35#
我稍微修改了@CharlieClark 's great answer以避免索引(原始Excel文件中没有索引)。