Python:复制并粘贴到特定的行和列

2024-09-24 22:29:51 发布

您现在位置: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

行和列列已首先填充。 有人对如何进行这项工作有任何解决方案或见解吗?先谢谢你


Tags: 文件inputvaluemain粘贴col解决方案excel
2条回答

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

如果你的主文件是empyty

df1=pd.DataFrame({"Col":[1,2,3],"Row":[2,3,4],"value":[6,5,7],"ree":[0,0,0]})


    Col Row value ree
0   1   2   6   0
1   2   3   5   0
2   3   4   7   0

df2=pd.DataFrame({"Col":[9,8,0],"Row":[6,4,22],"value":[26,55,27]})


    Col Row value ree
0   1   2   6   0
1   2   3   5   0
2   3   4   7   0

df1=df1[["Col","Row","value"]]
df2=df2[["Col","Row","value"]]

main=pd.concat((df1,df2))

    Col Row value
0   1   2   6
1   2   3   5
2   3   4   7
0   9   6   26
1   8   4   55
2   0   22  27

因此,在此之后,您可以创建一个主文件或将其保存在现有csv中 如果干管是空的,则此操作有效。如果干管是满的,则如上所述进行浓缩

相关问题 更多 >