首页 > 解决方案 > 使用python在没有csv模块的csv文件中添加数字

问题描述

我试图不使用该csv模块,因为我认为我的老师会指出如何使用这种简单的可能较旧的迭代方法。我知道他为了添加一个 csv 文件总数而输入或更改了一些 int 内容。该文件的语法是 (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 的格式规则仍然很陌生,所以我知道我的缩进有点偏离,但我知道它不是缩进。感谢您的帮助。我认为这只是在正确的地方失踪的演员。再次感谢我可能收到的任何帮助。

标签: pythonscripting

解决方案


更好的方法 -

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))

推荐阅读