python 中的 Openpyxl for 循环将多个 excel 文件中的特定行合并为一个

Openpyxl in python making for loop to merge specific row from many excel files into one

我正在尝试制作一个 python 代码,从 excel sheet 中取出特定行并将其复制到一个中。我想对很多文件(大约 1000 个文件)执行此操作。因此,我希望将每个 excel 文档中的特定行放入目标 excel 文件中的新行。我该如何修改我的代码来执行此操作?

这是我现在拥有的:

filename =str('c:\user\script\results\viktor\ESS_result_DetectorE503B35_Sewage.xlsx')
wb1 = xl.load_workbook(filename) 
ws1 = wb1.worksheets[0] 
 

filename1 ="c:\user\script\results\viktor\ESS.xlsx"
wb2 = xl.load_workbook(filename1) 
ws2 = wb2.active

mr = 2
mc = ws1.max_column

for i in filename:
   for j in range (1, mc + 1): 

       c = ws1.cell(row = 3, column = j) 

       ws2.cell(row = 3, column = j).value = c.value 
 

wb2.save(str(filename1))

在你的例子中,你不应该循环 filename 的字符串,而是循环 filenames.

的列表
filenames = [ur filenames here]
source_xl_filename = r'xxxxxx'
source_wb = xl.load_workbook(source_xl_filename) 
ws1 = source_wb.worksheets[0]

def batch_save_xl(filename):
    wb2 = xl.load_workbook(filename) 
    ws2 = wb2.active
    mr = 2
    mc = ws1.max_column
    for i in filename:
        for j in range (1, mc + 1): 
            c = ws1.cell(row = 3, column = j) 
            ws2.cell(row = 3, column = j).value = c.value 
    wb2.save(str(filename1))

for filename in filenames:
    batch_save_xl(filename)