你的代码
with open(r"C:\Users\13113\Desktop\surveyRes.csv", newline='', encoding='utf-8') as f:
txt1=f.read()
#print(txt1)
txt1=txt1.replace("\n",",")
#print(txt1)
lst=txt1.split(",")
lst2=lst[8:-1:7]
print(lst2)
运行的结果

对比下面csv文件的内容,可以看出前12行的college列是获取正确的,但到后面取到的是第13行的number列,这就有问题了。 显然是 lst=txt1.split(",") 这个出问题了,说明除了各列之间的英文逗号分隔符外,在字段内容中还出现了英文逗号。

但是你用excel打开csv文件,好像也没发现问题。那怎么快速找出问题呢?
这里可以用vscode打开这个csv文件,利用查找功能查找“英文逗号”,它会高亮显示被查到的内容,如下。重点看第12行。可以看到字段中有“英文逗号”,就是:"Python编程相关课程, 机器学习相关课程" 。这一列中是“英文逗号”。 那为什么csv文件没问题了,因为这列的内容是用双引号括起来的,双引号括起来了。如果你用excel打开该csv文件,会发现字段内容并不会显示双引号。也就是这个双引号是有特殊作用的,并不是字段内容的一部分。 后面的行也存在这个情况,如第14行。
