openpyxl将dataframe写入工作表指定位置
要将DataFrame写入指定位置的工作表,可以使用openpyxl的cell方法将DataFrame的值逐个写入单元格。
以下是一个示例代码,将DataFrame写入工作表的A1位置:
import pandas as pd
from openpyxl import Workbook
# 创建一个示例DataFrame
data = {'Name':['Tom', 'Nick', 'John', 'Sam'],
'Age':[28, 32, 25, 40],
'City':['New York', 'Paris', 'London', 'Tokyo']}
df = pd.DataFrame(data)
# 创建一个新的工作簿
wb = Workbook()
# 选择第一个工作表
ws = wb.active
# 将DataFrame写入工作表的A1位置
for r in dataframe_to_rows(df, index=False, header=True):
ws.append(r)
# 保存工作簿
wb.save("output.xlsx")
在上面的代码中,首先创建了一个示例DataFrame。然后,创建了一个新的工作簿,并选择第一个工作表。接下来,使用dataframe_to_rows函数将DataFrame的值转换为行的形式,并逐行追加到工作表中。最后,使用save方法将工作簿保存为output.xlsx文件。
请注意,上述代码中使用了pandas的dataframe_to_rows函数,需要导入此函数:
from openpyxl.utils.dataframe import dataframe_to_rows
这样可以将DataFrame转换为行的形式,以便逐行写入工作表。
如果要将DataFrame写入到工作表的指定位置,可以使用openpyxl的单元格方法,如下所示:
# 将DataFrame写入工作表的指定位置
for r_idx, row in enumerate(dataframe_to_rows(df, index=False, header=True), 1):
for c_idx, value in enumerate(row, 1):
ws.cell(row=r_idx, column=c_idx, value=value)
在上述代码中,使用了两个循环来遍历行和列,并使用cell方法将DataFrame的值写入指定位置的单元格。在cell方法中,row参数表示行号,column参数表示列号,value参数表示要写入的值
原文地址: https://www.cveoy.top/t/topic/iUmX 著作权归作者所有。请勿转载和采集!