要将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参数表示要写入的值

openpyxl将dataframe写入工作表指定位置

原文地址: https://www.cveoy.top/t/topic/iUmX 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录