Python CSV 在文件中查找文本并定位特定列

2 投票
1 回答
3724 浏览
提问于 2025-04-17 08:26

我有一个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)

撰写回答