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')
我有一个 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')