我正在使用openpyxl将熊猫数据框写入Excel电子表格。我正在从模板读取excel工作簿,因为客户端需要特定的标题,格式等。
如果要添加从第17行开始的表,如何修改下面的代码以实现此目的?第1到16行中有格式化的合并单元格,因此当我尝试以当前格式保存时,它会给我AttributeError: 'MergedCell' object attribute 'value' is read-only
。我看到了一个类似的堆栈问题,但受访者建议在添加数据框之前先添加一堆空白单元格-这种解决方案对我不起作用。
import pandas as pd
from openpyxl import Workbook
from openpyxl.utils.dataframe import dataframe_to_rows
wb = load_workbook('proto_temp.xlsx')
ws_rq = wb["Results Query"]
rows = dataframe_to_rows(df)
for r_idx, row in enumerate(rows, 1):
for c_idx, value in enumerate(row, 1):
ws_rq.cell(row=r_idx, column=c_idx, value=value)
wb.save("df_to_xl.xlsx")
答案 0 :(得分:1)
问题: 第17行后 是否有数据?
如果答案 == 否,请参见下文
for r in dataframe_to_rows(df, index=True, header=True):
ws.append(r)
如果答案 == 是,则答案会稍微复杂一些。
选项
sheet.cell(row=2, column=2).value = 2
希望这可以提供价值:)