Python使用csv.reader读取值内含逗号分隔符的CSV文件问题咨询
CSV字段含逗号拆分异常解决方法
问题根因
你的CSV文件本身是符合标准格式的:包含逗号的字段已经用双引号做了包裹,拆分错误是因为csv.reader默认参数没有匹配你文件的两个格式特性:
- 分隔符逗号和后续字段的双引号之间存在多余空格
- 字段内部的双引号使用反斜杠
\做转义
修复后可直接运行的代码
import csv file_path = r'C:\data.csv' with open(file_path, 'r', encoding='utf-8', errors='replace') as f: csvreader = csv.reader( f, delimiter=',', quotechar='"', skipinitialspace=True, escapechar='\\' ) for row in csvreader: # 输出结果每行仅包含id、text两个字段 print(row)
关键参数说明
quotechar='"':明确双引号为字段包裹标记,包裹范围内的所有逗号都会被识别为字段内容,不会作为分隔符拆分skipinitialspace=True:自动忽略分隔符逗号后的多余空格,适配你数据中, "字段内容"的格式escapechar='\\':指定反斜杠为转义字符,正确解析字段内部用反斜杠转义的双引号\"
内容的提问来源于stack exchange,提问作者Jennie
相关产品推荐
相关产品推荐

