2011-12-15 51 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