首页 > 解决方案 > Python:复制并粘贴到特定的行和列

问题描述

我在 excel 中有 2 个输入文件和 1 个主文件。我想使用 python 从输入文件中复制值并粘贴到相应行和列的主文件中,如下所示:

Input file 1 (COPIED)
Col Row extra1 extra2 value

A    70                6.1
B    87                5.0
G    90                4.4

Input file 2 (COPIED)
Col Row extra1 extra2 value

C    10                0.9
F    17                3.3
G    20                1.1
Main file (PASTED)
Col Row value
A   70   6.1
B   87   5.0 
C   10   0.9
F   17   3.3
G   20   1.1
G   90   4.4

row 和 col 列已经被填满了。任何人对如何执行此操作有任何解决方案或见解?先感谢您

标签: pythonexcelpandaslistdataframe

解决方案


使用 openpyxl 在两个不同的工作簿之间复制列可以如下完成:

import openpyxl

wb1 = openpyxl.load_workbook('B.xlsx')
ws1 = wb1.active

wb2 = openpyxl.load_workbook('E.xlsx')
ws2 = wb2.active

for src, dst in zip(ws1['B:B'], ws2['AN:AN']):
    dst.value = src.value

wb2.save('E.xlsx') 

对于一系列列,以下将起作用:

import openpyxl

wb1 = openpyxl.load_workbook('B.xlsx')
ws1 = wb1.active

wb2 = openpyxl.load_workbook('E.xlsx')
ws2 = wb2.active

for src, dst in zip(ws1['A:I'], ws2['AN:AV']):
    for cell_src, cell_dst in zip(src, dst):
        cell_dst.value = cell_src.value

wb2.save('E.xlsx') 

推荐阅读