计算文件夹中每个csv文件的行

时间:2019-03-14 13:41:05

标签: python

如何计算文件夹中每个csv文件的行?

private async void BtnNext_ItemClick(object sender, ClickEventArgs e)
{
  await Task.Run(() => EntryLogic.MoveNext());
  DeserializeBuffer();
}

我尝试了一个文件,但是我想对每个文件都这样做,..

Task.Run

我尝试了这个,但是我不知道它是怎么回事。 我真的是python的新手。

非常感谢。

3 个答案:

答案 0 :(得分:1)

假设文件放置在文件夹中:

import os
path = '/some/path/to/file'
for filename in os.listdir(path):
    with open(filename, 'r', encoding="latin-1") as fileObj:
        # -1 to exclude the header
        print("Rows Counted {} in the csv {}:".format(len(fileObj.readlines()) - 1, filename))  

输出(已测试):

Rows Counted 198 in the csv celebList.xlsx:
Rows Counted 148 in the csv cel_lis.xls:

答案 1 :(得分:1)

如果您不需要验证CSV内容或处理极端情况(丢弃一些数量不等的行作为标头等),则根本不需要读取CSV。 moq将为您计算每个文件中的行。

答案 2 :(得分:0)

此代码应该做

import os
import glob

path = "/home/.."
os.chdir(path)
result = [i for i in glob.glob('*.{}'.format("csv"))]

for i in result:
   with open(i, 'r', encoding="latin-1") as csvfile:
    print(i, ": ", str(len(csvfile.readlines()) - 1))