在 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?