python - 使用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 的格式规则仍然很陌生,所以我知道我的缩进有点偏离,但我知道它不是缩进。感谢您的帮助。我认为这只是在正确的地方失踪的演员。再次感谢我可能收到的任何帮助。
解决方案
更好的方法 -
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))
推荐阅读
- swift - 两个本地通知一起安排并一起显示,但我在 swift 中有不同的时间
- spring-security - 子域中的 Spring 安全认证
- mongodb - 无法运行具有相同共享卷的多个 mongodb docker 容器
- javascript - p5.js // p5.vector.sub 它是如何工作的以及它究竟做了什么2
- java - 将分层 JSON 字符串转换为 Java 对象
- vba - 如何在 VBA Web Scraper 中传递 (ALT+S) 键盘快捷键
- php - 此更新查询不会更新记录
- node.js - Node JS Puppteer 无限滚动循环
- asp.net-identity - 只需要外部用户时的 Identityserver4 用户管理
- java - MySQL:驱动程序没有收到来自服务器的任何数据包