簡體   English   中英

根據輸入從CSV文件中檢索特定行

[英]Retrieving a specific row from a CSV file based on input

目前,我有一個程序可以從CSV文件中檢索所有信息,並像這樣輸出:

['USER', 'PASS', 'INFO']
['example', 'pass', 'Apple']
['example1', 'pass1', 'Banana']
['example2', 'pass2', 'Strawberry']

我使用的代碼是:

import csv

username = input("Username... ")

with open('data.csv', 'rt') as f:
reader = csv.reader(f)
for row in reader:
    print(row)

我想做的是對照CSV文件中列出的用戶名檢查用戶輸入,如果匹配,則打印相應的INFO值。 因此,如果用戶名變量為example1,則將打印香蕉。 有沒有辦法做到這一點,類似於MySQL等?

非常感激!

如果您只需要匹配一次,則循環遍歷CSV文件並測試每一行:

with open('data.csv', 'rt') as f:
    reader = csv.reader(f)
    for row in reader:
        if row[0] == username:
            print(row)

如果您需要在代碼中更頻繁地引用不同的用戶名,並且CSV不太大,請使用字典:

with open('data.csv', 'rt') as f:
    reader = csv.reader(f)
    usernames = {r[0]: r for r in reader}

print usernames[username]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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