2011-12-15 86 views
2

我有CSV像蟒蛇CSV文件中查找文本,然後找到一個特定的列

apple,10,red,date 
orange,12,yellow,date 
pear,13,green,date 
pineapple,14,brown,date 

我想首先搜索如數據庫:菠蘿,然後得到第三列」,從它,我需要一些想法,我使用Python的CSV模塊

我能夠得到

#!/usr/bin/env python 


import csv 
import sys 

file = open("/tmp/database.txt", 'rt') 
reader = csv.reader(file) 
for i in reader: 
    print i 

輸出:

['apple', '10', 'red', 'date'] 
['orange', '12', 'yellow', 'date'] 
['pear', '13', 'green', 'date'] 
['pineapple', '14', 'brown', 'date'] 

回答

6

您可以檢查該行的第一個元素是否是菠蘿。一個簡單的方法來獲得所有的第三個值是使用list comprehension

import csv 
with open("/tmp/database.txt", 'r') as file: 
    reader = csv.reader(file) 
    third_where_pineapple = [line[2] for line in reader if line[0] == 'pineapple'] 
    print (third_where_pineapple) 
+0

感謝phihag工作... – krisdigitx