列出所有包含特定子串的csv文件

问题描述 投票:0回答:2

我有超过 200 个 12MB CSV 文件,我必须搜索所有文件才能列出包含特定子字符串的所有 CSV。然而,循环或我读取文件的方式有问题,因为没有打印结果,我不知道如何修复它。

我尝试过其他 stackoverflow 解决方案,但不幸的是,没有一个有效。

import csv, os, glob
 
path = r'C:/Users/me/Desktop/csvfolder/*csv'
keyword = '261892'
 
for Tname in glob.glob(path):
    #print (os.path.abspath(Tname))
    #read csv, and split on "," the line
    csv_file = csv.reader(open(os.path.abspath(Tname), "r",encoding= 'UTF-8'), delimiter=",") 
    for row in csv_file:
        if keyword == row[0]:
              print (os.path.abspath(Tname))

           
python python-3.x csv
2个回答
0
投票

您检查过“csv_file”变量的类型吗?如果它成为一个列表,我认为不会有任何行或列,而是列表的列表。


0
投票

您可以通过在代码中添加“if row:”来检查空白行:

    for row in csv_file:
        if row:
            if keyword == row[0]:
                  print (os.path.abspath(Tname))

我用自己的一组 80 个 csv 文件对其进行了测试,并使其正常工作。

© www.soinside.com 2019 - 2024. All rights reserved.