从CSV文件python加载特定数据

时间:2013-06-22 02:58:59

标签: python search readlines

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

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

马克,18岁,男,1978年

玛丽,18岁,男,1980年

马库斯,18岁,男,1978年

此数据重复如此等等,适用于200行。我想知道的是有一种方法可以打开这个文件夹并阅读它,但只打印包含1978的行。我,e,对于上面的数据,它只会打印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]

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

指定列表理解的结果。

with open('Names.csv') as f:
    lines = [line for lin in f if '1978' in line]