我怎样才能正确地连接我的代码并使其更有效?



在我的程序中,我试图从文件data.csv中读取数据,第三组数据是一堆从1到200的整数。在我阅读完这些数据后,我会检查那个人的得分是否超过80%。如果超过80%,他们将把所有数据放入一个新的csv文件中。不幸的是,我得到了一个错误,说"只能将tuple(不是"str")连接到tuple"我也不知道怎么做,但我相信我应该能让我的代码更高效。任何帮助都会很感激的,泰!

forename = []
surname = []
score = []
aForename = []
aSurname = []
aScore = []

f = open("data.csv", "r")
lineFromFile = f.readline()
while lineFromFile:
currentLine = lineFromFile.split(',')
forename.append(str(currentLine[0]))
surename.append(str(currentLine[1]))
score.append(int(currentLine[2]))
lineFromFile = f.readline()
f.close()

for i in range(len(forename)):
if 80 < (score[i]/200)*100:
aForename.append(str(forename[i]))
aSurename.append(str(surename[i]))
aScore.append(int(score[i]))
f = open("revisedCSV.txt", "w") 
for i in range(len(aForename)):
value = aForename[i],",",aSurename[i],",",aScore[i]
f.write(value+'n')
f.close()  

代码正在创建一个元组。这应该能解决问题。

value = aForename[i] + "," + aSurename[i] + "," + str(aScore[i])

为了更好地解释:

a = 'this is a ', 'tuple'
print(type(a))
print(a)
b = 'this is a ' + 'string'
print(type(b))
print(b)

输出:

<class 'tuple'>
('this is a ', 'tuple')
<class 'str'>
this is a string

为了使你的代码更高效,如注释中所述,使用with语句打开你的文件。

最新更新