使用 Openpyxl 将 Pandas DataFrame 写入 Excel 工作表指定位置
要将 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/qAme 著作权归作者所有。请勿转载和采集!