Python读取CSV文件输出出现多余字符与括号如何解决
问题原因
你遇到的异常输出包含两个独立问题:
- 输出外层的
[]括号、元素两侧的引号:csv.reader迭代返回的每一行是列表类型,直接打印列表对象时会默认输出列表的语法标识,不属于真实数据内容。 - 开头的
\ufeff字符:你的CSV文件是带BOM(字节顺序标记)的UTF-8编码格式,使用普通utf8编码读取时,会将BOM识别为文本内容的首个字符。
修复方案
- 替换文件读取的编码参数为
utf-8-sig,该编码会自动识别并移除开头的BOM标记 - 若CSV每行只有1个字段,直接取列表下标为0的元素打印即可避免输出列表格式标识
修复后代码
import csv with open("data.csv", encoding="utf-8-sig") as csvDataFile: csvReader = csv.reader(csvDataFile) for row in csvReader: # 取首个元素打印,若有多个字段按需调整下标即可 print(row[0])
内容的提问来源于stack exchange,提问作者NoobDev
相关产品推荐
相关产品推荐

