簡體   English   中英

在包含 Python 中制表符分隔值的 TXT 文件中搜索

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM