首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在csv文件中搜索行内的卡名?

如何在csv文件中搜索行内的卡名?
EN

Stack Overflow用户
提问于 2019-05-27 03:32:13
回答 1查看 0关注 0票数 0

我有一个csv文件。卡的名称位于第一列。

当我读取csv文件时,我会理解python转置它们,因此我应该在第一行中搜索我想要的卡名。

代码语言:javascript
复制
    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文件中)但是当我在提示符中键入它时,它会立即进入“卡片不存在在数据库中“

EN

回答 1

Stack Overflow用户

发布于 2019-05-27 13:25:16

试试这个:

代码语言:javascript
复制
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!')

注意:如果要循环并询问名称,最好将名称保存在集合中,然后检查是否存在,例如:

代码语言:javascript
复制
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]: ')
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100006816

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档