0

我正在处理包含大量数据的 CSV 文件。每行包含格式如下所示的数据。

姓名、年龄、性别、出生年份

马克,18 岁,男,1978 年

玛丽,18 岁,男,1980 年

马库斯,18 岁,男,1978 年

该数据重复等等,大约有 200 行。我想知道的是有一种方法可以打开这个文件夹并阅读它,但只打印包含 1978 的行。对于上述数据,它只会打印 Mark 和 Marcus 行。

到目前为止,这是我的代码。我该如何编辑它以实现我的目标。可能吗?

 f=open("Names.csv",'rU')
    lines = f.readlines()
    f.close()
    for line in lines:
        [x for x in lines if '1978' print x]
4

2 回答 2

0
with open("Names.csv") as fh:
    for line in fh:
        if '1978' in line:
            print line

请注意,有一个标准库模块可以处理 CSV 文件,但出于您的目的,您似乎不需要任何这些;上面的代码片段应该可以。但是,如果您的需求变得更加复杂,您可以通过将 CSV 读取为 CSV 而不是纯文本来帮自己一个忙。

于 2013-06-22T03:12:31.357 回答
0

分配列表理解的结果。

with open('Names.csv') as f:
    lines = [line for lin in f if '1978' in line]
于 2013-06-22T03:24:31.460 回答