将输入值与Pandas创建的列列表进行比较

时间:2017-06-12 01:16:10

标签: python python-3.x csv pandas import-csv

我正在使用Pandas访问我创建的CSV文件。我使用名为“ID”的data.name.tolist()函数创建了一个列表,存储了用户的所有ID号(目前这些ID是1-6,但后来会变成5位数),我希望如何要做的是将输入的ID号与ID列表进行比较,并根据输入的ID是否在列表中提供输出。这样做的最佳方法是什么?

干杯

anchor

编辑:CSV示例

    import csv
    import pandas

    colnames = ['name', 'ID', 'carPass', 'cardLost']
    data = pandas.read_csv('info.csv', names = colnames)
    IDs = data.ID.tolist()

    #Asks the user what their ID Number is
    entry = int(input("What is your id number?")).strip()

    if entry isin IDs:
        print("YES")
    else:
        print("NO")

目前唯一相关的数据是ID和carPass值。

1 个答案:

答案 0 :(得分:2)

输入文件info.csv

 name,ID,carPass,cardLost
 dog,34,yes,yes
 cat,78,yes,no
 bird,45,no,no
 lizard,84,no,yes

这应该足以找到具有ID号的条目。

import pandas as pd

df = pd.read_csv("info.csv")
entry = int(input("What is your id number? "))

if entry in df["ID"].tolist():
    print(df[df["ID"] == entry])
else:
    print("No entries with that ID number.")