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

如何忽略DataFrame列名中的多余空格以匹配指定列?

解决DataFrame列名含多余空格导致的KeyError问题

核心思路

先统一清理DataFrame的列名格式,把所有连续空格替换为单个空格,同时去除列名首尾的空格,再用指定字段列表提取数据,就能避免因空格数量不一致导致的匹配失败。

具体实现代码

import pandas as pd

fields = ['Assembled Weights', 'Assembled Heights']
dataframe = pd.read_excel(file)

# 清理列名:替换连续空格为单个,去除首尾空格
dataframe.columns = dataframe.columns.str.replace(r'\s+', ' ', regex=True).str.strip()

# 现在可以正常提取指定列
df = dataframe[fields]

补充说明

  • str.replace(r'\s+', ' ', regex=True):用正则匹配任意数量的连续空白字符(包括空格、制表符等),统一替换为单个空格,解决列名中多空格的问题。
  • str.strip():去除列名首尾可能存在的空格,避免类似' Assembled Weights '这种带前后空格的列名导致匹配失败。
  • 如果你的字段列表本身也存在空格不规范的情况,可以同步清理fields:
    fields = [field.strip().replace(r'\s+', ' ', regex=True) for field in fields]
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 00:40:44