Python 数据框到格式化的 Excel 模板

Python dataframe to formatted Excel template

我有一个 python 数据框,每列都有各种数据类型。通常我使用 pandas.DataFrame.to_csv 将其导出为常规 csv 文件,然后使用 Excel 打开它,复制其内容并将其粘贴到格式正确的模板 (xltx) 文件中。

我想知道是否可以将数据帧直接写入模板,这样数据就可以自动格式化而无需额外的步骤。

最好的方法是什么?

调用to_excel函数。像这样:

df.to_excel("file_name.xlxs")

我发现我可以使用 openpyxl 通过使用 openpyxl.utils.dataframe 中的 dataframe_to_rows 来完成我想做的事情,它可以使用如下方式将数据帧写入模板:

# Load the file
wb = openpyxl.load_workbook('Template.xltx')
ws = wb.active

# Convert the dataframe into rows
rows = dataframe_to_rows(processed_data, index=False, header=False)

# Write the rows to the worksheet
for r_idx, row in enumerate(rows, 1):
    for c_idx, value in enumerate(row, 1):
        ws.cell(row=r_idx, column=c_idx, value=value)

# Save the worksheet as a (*.xlsx) file
wb.template = False
wb.save('File.xlsx')