我有一个包含以下数据的CSV文件:
1,1,3,2,2,1
2,1,3,2,1,1
3,2,4,2,7,3
4,1,3,2,3,1
5,3,3,1,1,1
我想创建一个包含第六列元素的列表,第二列为1。简而言之,我想要的最终结果是[1, 1, 1]
下面是我写的代码:
input = open("C:\\test.txt", "r")
for line in input.readlines():
line = line.strip()
no, grade, gpa, sex, preview, review = line.split(',')
listno1 = []
a = float(grade)
if a == 1:
listno1.append(int(review))
当我打印时,结果是这样的:
[]
[]
[]
[]
[1]
[2]
[]
[]
[4]
[]
请帮忙?我想坚持使用列表
您正在为每一行创建列表,而不是在循环外只创建一次列表
你也在重新发明CSV轮子;改用^{} module 。因为您只为满足条件的每行选取一列,所以可以使用列表:
这基本上与:
但是用更紧凑的符号
相关问题 更多 >
编程相关推荐