使用python在没有csv模块的csv文件中添加数字

问题描述

我试图不使用 csv 模块,因为我的老师是,我认为,指出如何使用这种简单的可能较旧的迭代方法。我知道他输入了 casted 或更改了一些 int 以便添加一个 csv 文件总数。该文件的语法是 (name("string"),grade(int)) 作为 csv。这是 csv 文件的一行: Andrew,69,52,32,83,22,33,77,34 它当然是逗号分隔的。我已经能够让它在没有标题的情况下打印出数字,但是我缺少一些能够添加成绩的东西。我现在得到的错误是这样的:

TypeError: unsupported operand type(s) for +: 'int' and 'str'

我现在的代码是:

f = open("lab0604.csv","r+")     
f.readline()
    for line in f:
         x = line.split(",")
         for i in x:`
             print(sum(i[2:]))

关于如何解决这个问题的任何想法将不胜感激。我仍然不熟悉 SO 的格式规则,所以我知道我的缩进有点偏离,但我知道它不是缩进。谢谢你的帮助。我认为这只是一个演员阵容,我在正确的地方失踪了。再次感谢我可能得到的任何帮助。

解决方法

更好的方法 -

f = open("lab0604.csv","r+")     
f.readline()
    for line in f:
         x = line.split(",")
         for i in x:`
             grades = 0
             for i in mylist:
                 if type(i) == type(0):
                    grades = i + grades
        
             print(grades)

列表理解(一行或几乎一行)-

for i in x:
    a = [b for b in mylist if type(b) == type(0)]
    print(sum(a))
,
f = open("lab0604.csv","r+")
f.readline()
for line in f:
    x = line.split(",")
    print(sum(int(number) for number in x[1:])) # the first element`s index is 0