J'ai cherché cette question depuis un certain temps maintenant, mais je n'arrive pas à trouver une solution. J'utilise la fonction excelfiles pour créer une liste de tous les excelfiles, y compris "tst" dans leur nom dans un répertoire spécifié. Après cela, je veux lire certaines cellules de chaque document avec la fonction locate_vals, mais je ne peux pas sembler reaf fichiers à partir d'une liste de fichiers. Peut-être y a-t-il une solution vraiment simple à cela que je ne peux pas voir? L'erreur que je reçois est en bas.Lire les fichiers de la liste des fichiers
Ceci est une partie d'une plus grande tâche que j'ai demandé de l'aide pour hier (« Search through directories for specific Excel files and compare data from these files with inputvalues »), mais comme je ne peux pas sembler trouver une réponse à cette question que je pensais que ce serait mieux serait de lui donner un fil de lui-même. Corrigez-moi si je me trompe et je vais le supprimer :)
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'
Merci! Je vais essayer cette approche à la place. J'ai beaucoup joué avec un projet dernièrement, alors mon script est un peu en désordre pour le moment. – Havard
Ne pensez-vous pas que c'est la réponse la plus complète? :) (merci!) –
Oui, je le fais :) Merci encore! – Havard