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

Pandas读取带引号列名的CSV触发AttributeError如何解决?

问题原因与解决方法

是的,这个错误完全和首行列名的双引号有关。你的CSV列名被双引号包裹,pandas读取后,列名实际是带引号的(比如"City"而不是City),所以用cities.City访问时会提示找不到属性——str.strip()只能去除空格,没法删掉引号,所以没用。

两种程序化解决办法:

1. 读取CSV时直接处理(推荐)

在read_csv里指定quotechar参数识别双引号,同时加上skipinitialspace=True去掉列名/值前面的空格:

import pandas as pd
cities = pd.read_csv("cities.csv", quotechar='"', skipinitialspace=True)

这样pandas会自动解析掉列名的双引号,同时清理掉逗号后的空格,直接得到干净的列名(LatD、City等),之后执行cities.City.str.contains("Y")就正常了。

2. 读取后修复列名

如果已经读取了数据,直接对列名做替换和清理:

# 先去掉列名的双引号,再去除前后空格
cities.columns = cities.columns.str.replace('"', '').str.strip()

处理完后,列名就变成了不带引号的干净名称,就能正常用cities.City访问了。

测试一下,处理后执行你的筛选代码,会返回Youngstown、Yankton、Yakima这三行数据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 10:10:51