我有一个csv文件。卡的名称位于第一列。
当我读取csv文件时,我会理解python转置它们,因此我应该在第一行中搜索我想要的卡名。
with open("card_list_currents.csv", "r") as f:
card_list_table = csv.reader(f, delimiter = ',')
for row in card_list_table:
if prompt2 == row[0]:
print("\n This card exists in the database.")
prompt3 = input("Do you wish to search for another card? ")
if prompt3 == "Y":
card_search()
elif prompt3 == "N":
print("Thank you for using this script. Goodbye.")
else:
print("\n Illegal entry; Please type either Y for Yes, or N for No \n")
run_prompt()
else:
print("That card does not exist in the database.")
card_search()
编辑:prompt2要求输入(“您希望在数据库中找到的卡的名称是什么:”)
我希望python输出卡片存在,例如我输入Manticore of Darkness(因为我有那张卡片及其在csv文件中)但是当我在提示符中键入它时,它会立即进入“卡片不存在在数据库中“
发布于 2019-05-27 13:25:16
试试这个:
import csv
want_card = input('Please input card name: ')
found = False
with open('cards.csv') as fd:
reader = csv.DictReader(fd)
for row in reader:
if row['Card Name'].lower().strip() == want_card.lower().strip():
print('Card found!')
found = True
break
if not found:
print('Card not found!')
注意:如果要循环并询问名称,最好将名称保存在集合中,然后检查是否存在,例如:
import csv
names = set()
with open('cards.csv') as fd:
reader = csv.DictReader(fd)
for row in reader:
names.add(row['Card Name'].lower().strip())
want_card = input('Please input card name ["na" to exit]: ')
while want_card.lower().strip() != 'na':
if want_card.lower().strip() == 'na':
break
if want_card.lower().strip() in names:
print("Card found")
else:
print("card not found")
want_card = input('Please input card name ["na" to exit]: ')
https://stackoverflow.com/questions/-100006816
复制相似问题