2015-11-05 3 views
0

Я работаю над сценарием, который вытягивает определенные строки данных из нескольких книг Excel в папке (критический лист имеет одно и то же имя в каждой книге). Этот код только кажется, результаты процесса/печати из первого файла в папке:xlrd, чтобы прокрутить несколько книг в папке

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

Ответ: «Отступы важны». Когда отступом, как и код ниже, он перебирает все файлы в папке.

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): 
      if worksheet.row_values(row)[0] == 'bike': 
       print worksheet.row_values(row) 

 Смежные вопросы

  • Нет связанных вопросов^_^