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

Python3.6中pd.read_csv未正确解析双引号包裹的CSV数据

解决pandas读取CSV时双引号字段未正确分割的问题

嘿,我懂你碰到的这个糟心问题——明明CSV里用双引号把字段包起来了,结果pandas愣是把整行内容都塞进第一列,其他列全是NaN,太闹心了。

问题根源

其实这是因为pandas默认情况下可能没正确识别到双引号是字段的边界标记。你的CSV数据里,From和Content字段都用双引号包裹着,但pandas没get到这层意思,就把逗号当成了普通字符,直接把整行当成了一个大字段。

快速解决方案

咱们只需要在pd.read_csv里明确指定quotechar参数,告诉pandas双引号是用来包裹字段的,再配合你已经加的skipinitialspace=True来忽略逗号后的空格,就能解决问题:

import pandas as pd

# 明确指定双引号为字段包裹符
df = pd.read_csv('chat_daniel.csv', quotechar='"', skipinitialspace=True)
print(df.head())

进阶调试方案

如果上面的代码还是没搞定,试试配合csv模块的常量来更精准地控制引号解析逻辑:

import pandas as pd
import csv

# 让pandas只解析那些包含特殊字符或被引号包裹的字段
df = pd.read_csv(
    'chat_daniel.csv',
    quotechar='"',
    skipinitialspace=True,
    quoting=csv.QUOTE_MINIMAL
)

这里csv.QUOTE_MINIMAL是最贴合你数据的选项——它只会处理那些被引号包裹或者包含分隔符的字段,正好匹配你的CSV结构(Date字段没引号,From和Content用引号包裹)。

要是还是不行,别忘了检查下CSV文件的编码,比如加上encoding='utf-8'或者encoding='latin-1'参数,有些老文件的编码可能不是默认的UTF-8。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 07:46:55