2013-05-21 2 views
-1

Не знаете, с чего начать ... Я знаю, как читать в CSV-файле, но если у меня есть куча файлов в том же каталоге, как их читать в соответствии с тем, они находятся в списке. Например, список таких как ...Loop list и open file if found

l= [['file1.csv','title1','1'], ['file2.csv','title2','1'],['file3.csv','title3','1']] 

Как я могу получить только те 3 файлы, даже если я до «file20.csv» в каталоге. Могу ли я каким-то образом пройти через список и использовать if-statement для проверки имен файлов и открытия файла, если найден?

+0

Какой язык программирования вы хотите использовать? – reporter

+0

oops. Python 2.x –

ответ

0
for filedesc in l: #go over each sublist in l 
    fname, ftitle, _ = filedesC#unpack the information contained in it 
    with open(fname) as f: #open the file with the appropriate name 
     reader = csv.reader(f) #create reader of that file 
     #go about bussiness 
+0

Спасибо @HennyH, но могу ли я спросить, нужно ли распаковывать всю информацию или не могу выполнить поиск по имени файла, имеющему место в первом столбце, т.е. file1.csv. –

0

Обновленного пост, потому что я получил так близко с этим ....

lfiles= [] 
csvfiles=[] 
for row in l: 
    lfiles= row[0]  #This reads in just the filesnames from list 'l' 
with open(lfiles) as x: 
    inread = csv.reader(x) 
    for i in x: 
     print i 

Это печатающие все в файлах, которые читались в, но теперь я хочу добавить «csvfiles» (пустой список) с строкой, если конкретный столбец равен чему-то. Наверное, вот так ... ????

for i in x: 
    for line in i: 
     if line= 'ThisThingAppears5Times': 
      csvfiles.append(line) # and now the 5 lines are in a 2dlist 

Конечно, это не работает, но близко?