在 Python 中检索包含特定关键字的 CSV 文件的特定行

Posted

技术标签:

【中文标题】在 Python 中检索包含特定关键字的 CSV 文件的特定行【英文标题】:Retrieve specific rows of CSV file containing a particular keyword in Python 【发布时间】:2016-03-14 02:08:46 【问题描述】:

我目前正在尝试从大型 csv 文件中提取包含某些关键字(例如“电池”等)的特定行。

我编写了以下代码,但它似乎不适用于过滤器部分。

    keywords='battery'
    import csv
    import sys
    csv.field_size_limit(sys.maxsize)
    invalids=0
    valids=0
    path=r'/Users/hung/Desktop/test.csv'
    with open (path,'r')as f:
        reader = csv.reader(f,delimiter=';')
        for row in reader:
            try:
                print(row[2])
                valids+=1
            except IndexError:
                invalids+=1
            for field in row:
                if field in keywords:
                    print(row)
                    break
    print(('parsed 0 records. ignored 1').format(valids,invalids))

我收到一条错误消息,在最后一行显示 'SyntaxError: invalid syntax' for 'print'。 是否有任何遗漏导致错误?还是我的代码不起作用?

谢谢。

【问题讨论】:

您的打印语句不应在格式字符串周围有括号。 print('parsed 0 records. ignored 1'.format(valids,invalids)) 【参考方案1】:

替换:

print(('parsed 0 records. ignored 1').format(valids,invalids))

print('parsed 0 records. ignored 1'.format(valids,invalids))

请参阅string.format 的文档

【讨论】:

以上是关于在 Python 中检索包含特定关键字的 CSV 文件的特定行的主要内容,如果未能解决你的问题,请参考以下文章

当我使用python从CSV文件中提取特定关键字的数据时,为什么会出现KeyError?

Python:使用熊猫从csv文件中提取特定列(包含特殊字符)

将python字典写入CSV但仅包含特定列

如何从python中找到.csv文件中特定单元格的平均值?

基于数据表 Laravel 4 导出 CSV 或 PDF

遍历 for 循环并将检索到的数据保存在每个循环的唯一 csv 文件中 | Python