目前我有一个程序可以从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,那么将打印Banana。有没有办法做到这一点,类似于MySQL等。
非常感谢!
答案 0 :(得分:0)
如果您只需匹配一次,只需循环访问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]