Python 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']
1 个回答
6
你可以先检查一下这一行的第一个元素是不是“菠萝”。如果想要快速获取所有的第三个值,可以使用一种叫做列表推导式的方法,这样会很简洁。
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)