簡體   English   中英

如何使用python中的openpyxl將范圍從一張紙復制到另一張紙作為值

[英]How to copy a range from one sheet to another as values using openpyxl in python

我必須將 A1:Z100 的范圍從工作簿 1 的工作表 onw 復制到工作簿 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

這不能正常工作。 如何將此范圍復制到該工作表?

提供另一種使用熊貓的方法

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM