Python 编写一个函数,将文件名和单个字母作为输入,如果玩家的姓氏以该字符开头,则返回True

Python 编写一个函数,将文件名和单个字母作为输入,如果玩家的姓氏以该字符开头,则返回True,python,csv,Python,Csv,编写一个函数,playerHasLastInitial(filename,char)接受一个文件名和一个字母作为输入 如果花名册上的球员的姓氏以该字符开头,则返回True,否则返回False。 我们希望避免将整个文件加载到内存中,因此请使用while循环和file readline()方法,而不是readlines()或read()方法“ 我需要使用while循环,但我不能使用dict 因此,第一列中的名称是first和last,因此当我尝试将它们拆分为两个单独的项时,会得到“IndexErro

编写一个函数,playerHasLastInitial(filename,char)接受一个文件名和一个字母作为输入 如果花名册上的球员的姓氏以该字符开头,则返回True,否则返回False。 我们希望避免将整个文件加载到内存中,因此请使用while循环和file readline()方法,而不是readlines()或read()方法“

我需要使用while循环,但我不能使用dict

因此,第一列中的名称是first和last,因此当我尝试将它们拆分为两个单独的项时,会得到“IndexError:string index out-range”

因此,我应该:

playerHasLastInitial('C:\Users\wpqx1\Documents\hw5\cubsRoster.csv', 是的

当您执行以下操作时,我会得到“索引器:字符串索引超出范围”

lines = f.readline()
你只有一行。所以当你下一步做的时候:

for v in lines:
lastName = name[1]
是一个长字符串,因此
v
一次仅为1个字符,因此
name
也是1个字符。所以当你下一步做的时候:

for v in lines:
lastName = name[1]
您会得到一个错误,因为
name
没有索引“1”,只有“0”索引

您需要删除循环,然后执行以下操作:

name = lines.split(" ")[0]

并建议更改一些变量的名称(例如
而不是
,因为一次只有一行)

三列:“姓名年龄国家代码”列出的名称是Alberto Almora,Javier Baez等。所以我需要将这一类别进行分类。姓名年龄国家代码Jim Encousi 34 CA Albert Almora 25美国Adbert Alzolay 24 VE Javier Baez 26 PR Tony Barnette 35美国David Bote 26美国Brad Brach 33美国Kris Bryant 27美国Victor Caratini 25 PR Nicholas Castellanos 27美国Xavier Cedeno 32 PR Tyler Chatwood 29美国Steve Cishek 33美国Tim Collins 29美国