2016-01-02 154 views
5

我正在學習如何使用Python 3讀取CSV文件,並且一直在玩弄我的代碼,並設法讀取整個文檔或某些列,但是我正在嘗試讀取只有某些包含特定值的記錄。使用Python讀取CSV文件3

例如,我想讀取汽車是藍色的所有記錄,我將如何讓它只讀取那些記錄?我無法弄清楚這一點,並會很感激任何幫助或指導!

import csv 

with open('Cars.csv') as csvfile: 
    reader = csv.DictReader(csvfile) 
    for row in reader: 
    print(row['ID'] ,row ['Make'],row ['Colour']) 
+0

的[我如何讀取和寫入使用Python CSV文件?(可能的複製http://stackoverflow.com/questions/41585078/how-do-i-read-and-write-csv-files -with-python) –

回答

6

一個簡單的「if」語句就足夠了。請參閱control flow文檔。

import csv 

with open('Cars.csv') as csvfile: 
    reader = csv.DictReader(csvfile) 
    for row in reader: 
     if row['Colour'] == 'blue': 
      print(row['ID'] ,row ['Make'],row ['Colour']) 
+0

謝謝!我在這樣一個腦海中瞬間真的很尷尬 – user5508371

0

您逐一讀取每一行,並使用顯式檢查來篩選要處理的行。然後將它們添加到數組中,或者將其處理到位。

+0

我該怎麼做? – user5508371

1

您可以在讀取行時檢查值。

with open('Cars.csv') as csvfile: 
    reader = csv.DictReader(csvfile) 
    for row in reader: 
    // check your values here - if car = blue 
    // do something with blue cars. 
    print(row['ID'] ,row ['Make'],row ['Colour'])