Python 3.x 无法在列表中的列表中搜索记录

Python 3.x 无法在列表中的列表中搜索记录,python-3.x,list,csv,Python 3.x,List,Csv,在StackOverflow的一些贡献者的帮助下,我编写了一个小程序来读取CSV文件,以便搜索一条或多条记录。该程序可以工作并经过测试,但当它从CSV文件中读取时,它不工作。我试图在列表中搜索一条记录,但它没有找到任何东西。有人能帮忙吗 import csv #Read in CSV file datafile = open('nba_2Records.csv', 'r') datareader = csv.reader(datafile, delimiter=';') data = [] f

在StackOverflow的一些贡献者的帮助下,我编写了一个小程序来读取CSV文件,以便搜索一条或多条记录。该程序可以工作并经过测试,但当它从CSV文件中读取时,它不工作。我试图在列表中搜索一条记录,但它没有找到任何东西。有人能帮忙吗

import csv

#Read in CSV file
datafile = open('nba_2Records.csv', 'r')
datareader = csv.reader(datafile, delimiter=';')
data = []
for row in datareader:
    data.append(row)    

print(f"Data = {data}")

# Search Value
search = 'Boston Celtics'

for sublist in data:

    print(f"sublist : {sublist}")
    if search in sublist:
        print("Found it!" + str(sublist))
    else:
        print("Not found")


=============================================================================================================================
Data = [['Name,Team,Number,Position,Age,Height,Weight,College,Salary'], ['Avery Bradley,Boston      Celtics,0,PG,25,2-Jun,180,Texas,7730337'], ['Jae Crowder,Boston Celtics,99,SF,25,6-Jun,235,Marquette,6796117']]
sublist : ['Name,Team,Number,Position,Age,Height,Weight,College,Salary']
Not found
sublist : ['Avery Bradley,Boston Celtics,0,PG,25,2-Jun,180,Texas,7730337']
Not found
sublist : ['Jae Crowder,Boston Celtics,99,SF,25,6-Jun,235,Marquette,6796117']
Not found

您的子列表是仅包含一个字符串项的数组,当在列表中使用
string
时,它将搜索与字符串相等的列表项,而不是字符串中包含的列表项

如果子列表上始终有一个元素,则可以执行此操作

如果在子列表[0]中搜索:
打印(“找到了!”+str(子列表))
否则,您必须添加另一个循环

子列表中项目的
:
如果在项目中搜索:
打印(“找到了!”+str(项目))

您需要将分隔符用作

Ex:

search = 'Boston Celtics'

with open('nba_2Records.csv') as datafile:
    datareader = csv.reader(datafile, delimiter=',')
    next(datareader) #Skip header
    for row in datareader:
        if search in row:
            print("Found it! " + row)

嗨,戴夫,谢谢你。它现在正在工作。有一个问题,根据两行上的“波士顿凯尔特人队”选择后,如何从两行中添加“7730337”和“6796117”。您如何知道我的子列表是一个数组?我以为我的子列表是一个列表。我也是指列表,要提取行中昏迷后的数字,可以使用子列表[0]。拆分(“,”[-1]它以逗号分隔字符串并取最后一部分感谢Rakesh,我测试了您的代码,唯一的更改是对行进行字符串设置。我有一个问题要问您,如何收集选定的输出,然后像电子表格一样执行计算。什么计算?在其中包含数值的列上添加计算。我如何处理延迟列表,好像它就像一个Excel表格,我可以在其中选择行和列?