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

使用Pandas read_csv处理CSV首单元格歧义,实现可正常索引的DataFrame

解决CSV读取时索引与列名的空格歧义问题

问题原因

你的CSV文件中,字段用;分隔但附带前导空格,直接用sep=";"读取时,会导致列名带前导空格(实际是" Int"而非"Int")、索引带前导空格(实际是" A"而非"A"),所以df.loc["A", "Int"]无法匹配到对应单元格。

解决方案

提供两种简单可行的处理方式:

方式1:读取时直接处理空格

利用skipinitialspace=True参数忽略分隔符后的空格,同时指定index_col=0将第一列设为索引:

import pandas as pd
df = pd.read_csv('data.csv', index_col=0, sep=";", skipinitialspace=True)

读取后的DataFrame会自动去除索引和列名的前后空格,直接使用df.loc["A", "Int"]就能获取目标值。

方式2:读取后手动清理空格

如果不想修改读取参数,可以先读取原始数据,再去除索引和列名的前后空格:

import pandas as pd
df = pd.read_csv('data.csv', index_col=0, sep=";")
# 清理索引的空格
df.index = df.index.str.strip()
# 清理列名的空格
df.columns = df.columns.str.strip()

处理完成后,df.loc["A", "Int"]即可正常访问单元格。

验证效果

处理后的DataFrame结构如下:

Int  Flt
A  123  0.1
B  456  0.2
C  789  0.3

执行df.loc["A", "Int"]会返回123,符合预期。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 15:37:41