循环列表和打开文件(如果找到)

时间:2013-05-21 11:34:08

标签: python loops csv python-2.x

不知道从哪里开始...我知道如何读取csv文件但是如果我在同一目录中有一堆文件,那么如何根据它们是否在列表中来读取它们。例如,一个列表,如......

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

即使我在目录中找到'file20.csv',我怎么能得到这3个文件呢? 我可以以某种方式循环遍历列表并使用if语句检查文件名并打开文件,如果找到?

2 个答案:

答案 0 :(得分: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

答案 1 :(得分: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

当然这不起作用但是关闭?