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

如何用Pandas正确读取含引号与逗号的异常格式CSV文件?

如何用Pandas正确解析带转义双引号的CSV文件?

当然可以!你的CSV文件采用了标准CSV格式的双引号转义规则——用连续两个双引号""表示字段内的单个双引号,并且整行被双引号包裹。Pandas的read_csv方法原生支持这种格式,只需要简单配置参数(甚至默认参数就可以搞定)。

具体解决方案

1. 读取本地CSV文件

如果你的数据存放在本地文件中,直接用以下代码:

import pandas as pd

# 读取文件,默认参数已支持双引号转义,显式指定参数可确保兼容性
df = pd.read_csv("your_file.csv", quotechar='"', doublequote=True)

2. 直接处理字符串形式的CSV内容

如果你的CSV是字符串格式(比如你提供的示例内容),可以用StringIO模拟文件对象:

import pandas as pd
from io import StringIO

# 你的原始CSV字符串
raw_csv = '"1,0,3,""Braund, Mr. Owen Harris"",male,22,1,0,A/5 21171,7.25,,S"'
# 解析为DataFrame
df = pd.read_csv(StringIO(raw_csv), quotechar='"', doublequote=True)

验证结果

运行代码后,查看Name字段的内容:

print(df['Name'].iloc[0])
# 输出: Braund, Mr. Owen Harris

这正是你预期的格式——Pandas会自动把转义的双引号""解析成正常的字段包裹逻辑,正确识别包含逗号的Name字段,不会把它拆分成多个列。

参数说明

  • quotechar='"':指定用双引号作为字段的包裹符(当字段包含分隔符逗号时,用双引号包裹)。
  • doublequote=True:这是Pandas的默认值,告诉解析器把连续的两个双引号解析为一个双引号,处理CSV中的转义场景。

这样处理后,你得到的DataFrame结构就和你期望的正常CSV完全一致了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 06:52:02