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

使用pd.read_csv读取CSV时数据仅存首列其余列显NaN如何解决

解决方案

你的CSV文件每行内容被额外的双引号整体包裹,导致pandas读取时将整行判定为单个字符串,引号内部的逗号不会被识别为分隔符,因此直接指定sep=','无效。你之前的代码未做分列操作,带逗号的整串无法直接转换为数值,因此触发类型转换报错。

推荐优先在读取阶段直接解决,效率最高:

import pandas as pd
df = pd.read_csv(
    "data.csv",
    quotechar='"',  # 指定双引号为引用标识,读取时自动剔除外层包裹的双引号
    sep=",",
    header=None  # 若你的CSV文件自带表头请删除该参数
)
# 如需统一转换为数值类型可添加以下代码
df = df.apply(pd.to_numeric)

如果已经将文件读取为单列数据,可通过字符串处理拆分:

# 假设读取后的单列列名为col_1
df = df["col_1"].str.strip('"').str.split(",", expand=True)
df = df.apply(pd.to_numeric)

两种方式都可以得到你预期的分列结果,每列对应一个数值。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 08:45:00