xlrd循环遍历文件夹中的多个工作簿

时间:2015-11-05 18:38:39

标签: python excel xlrd

我正在编写一个脚本,该脚本从文件夹中的多个Excel工作簿中提取某些数据行(关键表在每个工作簿中都具有相同的名称)。此代码似乎只处理/打印文件夹中第一个文件的结果:

import os
import xlrd



for root, dirs, files in os.walk('/Users/123/Desktop/drivingtests'):
    xlsfiles=[ _ for _ in files if _.endswith('.xlsx') ]
for xlsfile in xlsfiles:
    workbook = xlrd.open_workbook(os.path.join(root,xlsfile))
    worksheet = workbook.sheet_by_name('Sheet1')
for row in range(worksheet.nrows):
    workbook = xlrd.open_workbook(os.path.join(root,xlsfile))
    worksheet = workbook.sheet_by_name('Sheet1')
    if worksheet.row_values(row)[0] == 'bike':
        print worksheet.row_values(row)  

如何让脚本处理文件夹中的每个工作簿?

1 个答案:

答案 0 :(得分:1)

答案是“凹痕很重要”。当像下面的代码一样缩进时,它会循环遍历文件夹中的所有文件。

%'Initial data'
A = [1 2 3; 8 5 6];
B = [1 4 5; 7 4 8]; 

%'Look in merged data'
V = sort([A,B],2);      %'Sort matrix values in rows'
R = V(diff(V,1,2)==0);  %'Find duplicates in rows'