繁体   English   中英

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

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

我正在尝试制作一个 python 代码,该代码从 excel 表中取出特定行并将其复制到一个表中。 我想对很多文件(大约 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)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM