Python 3.x 无法在列表中的列表中搜索记录
在StackOverflow的一些贡献者的帮助下,我编写了一个小程序来读取CSV文件,以便搜索一条或多条记录。该程序可以工作并经过测试,但当它从CSV文件中读取时,它不工作。我试图在列表中搜索一条记录,但它没有找到任何东西。有人能帮忙吗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
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表格,我可以在其中选择行和列?