2013-06-22 19 views
0

我正在處理包含大量數據的CSV文件。每行包含格式如下所示的數據。從CSV文件加載特定數據python

姓名,年齡,性別,出生年份

馬克,18歲,男,1978年

瑪麗,18,男,1980年

馬庫斯,18,男,1978年

這數據重複如此等等,用於apprixmately 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] 
+0

http://docs.python.org/2/library/csv.html – TerryA

+0

@Haidro我已經看過這個網站,但我不能工作,如何尋找它。你能提供更多關於我在尋找什麼的信息嗎? – Newbie

+0

我幾乎不知道csv模塊的任何內容,我只是認爲它可以幫助你。但是,如果你正在使用csv文件,你真的應該使用模塊 – TerryA

回答

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

注意,有一個標準庫模塊來處理CSV文件,但是你的目的,你似乎並不需要任何的是什麼;上面的代碼片段應該這樣做。但是,如果您的需求變得更加複雜,您可以通過將CSV讀取爲CSV而不是純文本來幫助您。

+0

謝謝你的工作。我可以通過將其附加到列表中以便稍後使用來擴展它嗎? – Newbie

0

分配列表理解的結果。

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