You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Python Pandas清除CSV文件部分行中的三重双引号

问题原因

你使用csv.QUOTE_ALL模式配合quotechar='"'解析时,遵循CSV标准的解析器会把连续两个双引号识别为转义的单个双引号,因此单元格内的三个连续双引号会被判定为「1个转义双引号 + 未闭合的字段边界」,最终触发解析错误。

可行解决方案

方案1:预处理原始内容直接删除所有双引号(最适配你的需求)

你明确需要移除所有单元格内的双引号,直接在解析前清洗原始内容即可,完全避开转义解析冲突:

import io
import pandas as pd
import csv

body = object.get()['Body'].read()
# 解码后替换所有双引号,再编码回字节流
processed_body = body.decode("utf-8").replace('"', "").encode("utf-8")
reader = pd.read_csv(
    io.BytesIO(processed_body),
    delimiter=",",
    encoding="utf8",
    skipinitialspace=True
)

处理后你示例中的"""单元格会自动转为空值,"JOE"会转为JOE,完全符合需求。

方案2:关闭引号识别先保证解析成功,再二次清洗

如果有其他场景需要先保证所有行解析不报错,再统一处理引号,可调整解析参数:

reader = pd.read_csv(
    io.BytesIO(body),
    delimiter=",",
    quotechar='"',
    encoding="utf8",
    quoting=csv.QUOTE_NONE, # 不把双引号识别为字段边界
    skipinitialspace=True
)
# 统一移除所有单元格的双引号
reader = reader.apply(lambda col: col.str.replace('"', "", regex=False))

内容的提问来源于stack exchange,提问作者Ravikant Pandey

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 04:24:04