[英]Search in a TXT file containing tab-separated values in Python
我有一個 TXT 文件,其中包含以下形式的制表符分隔值(3 列):
type color name
fruit red apple
fruit red grape
vegetable green cucumber
我正在尋找一種方法來讀取該文件並在該數據集中執行“選擇”,就像我在 SQL 表中選擇一樣(類似這樣)
SELECT name FROM data_set WHERE color='red' and type='fruit'
我知道應該像這樣讀取和迭代該文件:
f = open('file_name.txt', 'r')
for line in f:
但是,我不確定查找部分的最有效方法是什么,它將返回給定前兩列的第三列的值。
我正在使用 Python 2.7。 任何幫助將不勝感激!
這是一種如何做類似事情的方法。 這不完全是您想要的,但它有效:
data = {}
with open('file_name.txt', 'r') as f:
lines = [line.rstrip() for line in f]
lines.pop(0)
for line in lines:
x = line.split('\t')
try:
data[x[0]][x[1]].append(x[2])
except KeyError:
data.update({x[0]: {x[1]: []}})
data[x[0]][x[1]].append(x[2])
print(data['fruit']['red'])
-> ['apple', 'grape']
print(data['vegetable']['green'])
-> ['cucumber']
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.