如何在python中使用openpyxl将一个范围作为值从一个工作表复制到另一个工作表

2024-10-02 12:24:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我必须从工作簿1的工作表1到工作簿2的工作表1复制一个范围A1:Z100?

我的代码:

wb = openpyxl.load_workbook('file1.xlsx')
wb1 = openpyxl.load_workbook('file2.xlsx')
sheet = wb["R"]
sheet1 = wb1["Rt"]
sheet1.cell(row=1,column=1).value = sheet.cell(row=1,column=1).value

这工作不正常。如何将此范围复制到该工作表?


Tags: 代码valuea1loadcellcolumnxlsxsheet
2条回答

用熊猫的另一种方法

import pandas as pd
excel = pd.read_excel('file1.xlsx', header=None)
writer = pd.ExcelWriter('file2.xlsx')
excel.loc[:99, :25].to_excel(writer, 'sheet1', index=False, header=False)

添加只包含数据的openpyxl解决方案

wb = openpyxl.load_workbook('file1.xlsx', data_only=True)
wb1 = openpyxl.load_workbook('file2.xlsx')
sheet = wb['R']
sheet1 = wb1['Rt']
for row in sheet['A1':'Z100']:
    for cell in row:
        sheet1[cell.coordinate].value = cell.value
wb1.save('file2.xlsx')

编辑

cell.coordinate返回类似“A1”的值,然后sheet1[“A1”]。value是单元格A1的值

你可以尝试以下方法:

for i in range(1, 100):
    for j in range(1, 26):
        sheet1.cell(row=i,column=j).value = sheet.cell(row=i,column=j).value
wb1.save('file2.xlsx')

相关问题 更多 >

    热门问题