Были проблемы с Google в течение довольно долгого времени, но не могут найти решение. Я использую функцию excelfiles для создания списка всех excelfiles, включая «tst» в их имени в указанном каталоге. После этого я хочу читать определенные ячейки из каждого документа с помощью функции locate_vals, но я не могу представить файлы из списка файлов. Может быть, есть очень простое решение, которое я просто не вижу? Ошибка, которую я получаю, находится внизу.Прочитать файлы из списка файлов
Это является частью более крупной задачи, я просил о помощи вчера («Search through directories for specific Excel files and compare data from these files with inputvalues»), но так как я не могу найти какой-либо ответ на этот вопрос, я думал, что это могло бы быть лучше, чтобы дать ему нить его собственной. Поправьте меня, если я ошибаюсь, и я удалю это :)
import xlrd
import os, fnmatch
#globals
start_dir = 'C:/eclipse/TST-folder'
def excelfiles(pattern):
file_list = []
for root, dirs, files in os.walk(start_dir):
for filename in files:
if fnmatch.fnmatch(filename.lower(), pattern):
if filename.endswith(".xls") or filename.endswith(".xlsx") or filename.endswith(".xlsm"):
file_list.append(os.path.join(root, filename))
return file_list
file_list = excelfiles('*tst*') # only accept docs hwom title includes tst
for i in file_list: print i
'''Location of each val from the excel spreadsheet'''
def locate_vals():
val_list = []
for file in file_list:
wb = xlrd.open_workbook(os.path.join(start_dir, file))
sheet = wb.sheet_by_index(0)
for vals in file:
weightvalue = file_list.sheet.cell(3, 3).value
lenghtvalue = sheet.cell(3, 2).value
speedval = sheet.cell(3, 4).value
ErrorMessage:
Traceback (most recent call last):
File "C:\Users\Håvard\Documents\Skulearbeid\UMB\4. Semester Vår\Inf120 Programmering og databehandling\Workspace\STT\tst_mainsheet.py", line 52, in <module>
print locate_vals()
File "C:\Users\Håvard\Documents\Skulearbeid\UMB\4. Semester Vår\Inf120 Programmering og databehandling\Workspace\STT\tst_mainsheet.py", line 48, in locate_vals
weightvalue = file_list.sheet.cell(3, 3).value
AttributeError: 'list' object has no attribute 'sheet'
Спасибо! Я попробую этот подход вместо этого. В последнее время я так сильно искал проект, так что мой сценарий в настоящий момент беспорядок. – Havard
Вам не кажется, что это более полный ответ? :) (спасибо!) –
Да, я делаю :) Еще раз спасибо! – Havard