如何在列中搜索变量,然后用python3打印csv文件中包含该数字的所有行

2024-04-27 01:10:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在制作一个程序,在CSV中检查一个数字,然后打印出整行。第四个是数字。以下是我尝试的:

 with open('Info.csv', 'r') as csv_file
 if 'View C' in choice:
        read = csv.reader(csv_file)
        view = str(input("Enter Number: "))
        for column in read:
            if view == column[3]:
                print(row)

csv文件的结构如下:

John,Smith,London,131390890
Bob,Builder,Moscow,123123132
Dab,God,LA,131390890

我希望程序是这样的:

输入:

123123132

输出:

Bob,Builder,Moscow,123123132,

它还需要能够做到这一点:

输入:

131390890

输出:

John,Smith,London,131390890,
Dab,God,LA,131390890,

谢谢你!你知道吗

顺便说一句,使用Python3。。。你知道吗


Tags: csvin程序viewreadifbuildercolumn
2条回答

使用loc根据列中的值对数据帧进行子集划分。假设列的名称是whichever_column_your_number_exists,您要查找的值是view。还要确保列的数据类型与要搜索的值view相同。你知道吗

df = pd.read_csv('Info.csv') #Read your CSV file
your_df = df.loc[df['whichever_column_your_number_exists'] == view] #Assuming view is str type

然后遍历新数据帧的每一行yourdf,并在每一列中打印值。你知道吗

for row in your_df.index:
    print(df.at[row, column1_name], df.at[row, column2_name], df.at[row, column3_name], df.at[row, column4_name]

你可以使用列表理解。要查找包含您要查找的编号的行,请读取整个文件,将每一行附加到名为content的列表中。然后:

result = [i for i in content if i[-1] == 'your_number']

这样,变量result将包含N行,每行的最后一列都与您的数字匹配

相关问题 更多 >