Pandas读取CSV后无法访问‘Column’列的异常Bug
Pandas列名无法访问的解决办法
这种情况几乎都是列名藏了不可见的空白/特殊字符,表面看着是Column,实际和你输入的字符串不匹配,按下面步骤排查修复:
- 先确认列名的真实内容,打印每个列名的字符编码:
for col in df.columns: print(f"列名: '{col}',字符编码: {[ord(c) for c in col]}")
对比正常Column的编码(C:67, o:111, l:108, u:117, m:109, n:110),就能找出多余的字符(比如空格是32,制表符是9)。
- 快速清理列名,先去除前后空白:
df.columns = df.columns.str.strip()
如果还有其他特殊字符,用正则替换掉非字母数字下划线的内容:
df.columns = df.columns.str.replace(r'\W+', '', regex=True)
- 要是已经定位到异常字符,直接精准重命名:
比如发现列名是Column(末尾带空格),就执行:
df.rename(columns={'Column ': 'Column'}, inplace=True)
内容的提问来源于stack exchange,提问作者Skerre
相关产品推荐
相关产品推荐

