python csv在文件中查找文本,然后查找特定列

kri*_*itx 2 python

我有一个像csv的数据库

apple,10,red,date
orange,12,yellow,date
pear,13,green,date
pineapple,14,brown,date
Run Code Online (Sandbox Code Playgroud)

我想首先搜索例如:菠萝然后获得第三列"从它,我需要一些想法,我使用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
Run Code Online (Sandbox Code Playgroud)

输出:

['apple', '10', 'red', 'date']
['orange', '12', 'yellow', 'date']
['pear', '13', 'green', 'date']
['pineapple', '14', 'brown', 'date']
Run Code Online (Sandbox Code Playgroud)

phi*_*hag 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)
Run Code Online (Sandbox Code Playgroud)