遍历文件列表并在dict(python)中打印每个文件的行数

遍历文件列表并在dict(python)中打印每个文件的行数,python,dictionary,Python,Dictionary,我有一个文件列表(csv),我想计算每个文件的行数。最后,将每个计数打印到字典中 有什么建议/解释吗 感谢您的代码: 你对{和]有一些混淆,你忘记了,你试图创建字典理解的地方 filedata={filename:open(filename, 'r') filename in files] 应该是: filedata={filename:open(filename, 'r') for filename in files} 你们的任务是创建一个字典,但你们不知怎么创建了一个列表 代码的工作版本

我有一个文件列表(csv),我想计算每个文件的行数。最后,将每个计数打印到字典中

有什么建议/解释吗

感谢您的代码: 你对{和]有一些混淆,你忘记了,你试图创建字典理解的地方

filedata={filename:open(filename, 'r') filename in files]
应该是:

filedata={filename:open(filename, 'r') for filename in files}
你们的任务是创建一个字典,但你们不知怎么创建了一个列表

代码的工作版本

mylist=[]
files=['file1.csv','file2.csv']
filedata={filename:open(filename, 'r') for filename in files}
for i in filedata:
    count = 0
    for line in filedata[i]:
            count+=1
    mylist.append(count)
print mylist
您可以使用csv模块打开文件。 创建一个defaultdict,每次读一行时,在字典中添加1

大概是这样的:

import csv
from collections import defaultdict
files = ['file1.csv'
    ,'file2.csv']
final_dict = defaultdict(int)
for file in files:
    with open(file,'rb') as current:
            reader= csv.reader(current, delimiter=',')
            for row in reader:
                    final_dict[file]+=1
print  final_dict

我建议你自己尝试一下,把你的代码编辑成这个问题。Stackoverflow是帮助人们获得正确的代码,而不是为他们编写代码。我试图编写我的代码。它说缩进有问题。我的代码:mylist=[]files=[file1,file2]filedata={filename:open(filename,'r'))文件中的文件名]对于文件中的i数据:对于文件中的行数据:mylist.append(line)print mylist请解释原因,仅代码回答没有帮助,并且违反SO策略。