Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用python中的openpyxl将一个范围作为值从一个工作表复制到另一个工作表_Python_Excel_Openpyxl_Worksheet - Fatal编程技术网

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

如何使用python中的openpyxl将一个范围作为值从一个工作表复制到另一个工作表,python,excel,openpyxl,worksheet,Python,Excel,Openpyxl,Worksheet,我必须从工作簿1的工作表onw复制A1:Z100到工作簿2的工作表1 我的代码: 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 这不正常。如何将此范围复制到该工作表?

我必须从工作簿1的工作表onw复制A1:Z100到工作簿2的工作表1

我的代码:

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

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

您可以尝试以下方法:

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')

提供另一种使用熊猫的方法

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的值

什么是srcfile?如何仅复制值而不复制公式?这有帮助吗@Joe range(1:100)不起作用使用range(1100)代替单元格1[cell.coordinate]。值这是什么?@qwww cell.coordinate返回类似“A1”的值,然后使用sheet1['A1']。值是单元格A1的值什么不起作用?当前仅复制一个单元格的值。