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

如何用Excel文件初始化Pandas DataFrame列?解决NoneType错误

问题解决:用Excel列名初始化DataFrame时的'NoneType'错误

用户有存储列名的Excel文件columnlist.xls(示例列:FirstName、LastName等),想要用这些列名初始化DataFrame以便后续追加数据,尝试循环读取Excel文件将列名存入列表再创建DataFrame时,出现错误:'NoneType' object has no attribute 'append'

错误代码

import pandas as pd
df = pd.DataFrame()
df_cols = list()
# read the saved columns in .csv file
dfRepeatingColumns    = pd.read_excel('columnlist.xls', sheet_name ='Repeating')

for index, row in dfNonRepeatingColumns.iterrows():
    df_cols = df_cols.append(row['Columns'])

问题原因

  • 变量名不一致:代码中读取Excel后赋值给dfRepeatingColumns,但循环迭代时使用了未定义的dfNonRepeatingColumns,会引发未定义错误,叠加后续append问题导致最终报错
  • 列表append方法使用错误:list.append()是原地修改列表的方法,没有返回值,将其赋值给df_cols会让变量变成None,后续再次调用append时就会触发NoneType相关错误

修正后的代码

无需循环逐行读取,直接提取整列数据转为列表更高效,同时修正变量名问题:

import pandas as pd

# 读取Excel中存储列名的工作表
df_repeating_columns = pd.read_excel('columnlist.xls', sheet_name='Repeating')
# 将Columns列的值转为列表作为DataFrame的列名
df_cols = df_repeating_columns['Columns'].tolist()

# 用指定列名初始化空DataFrame
df = pd.DataFrame(columns=df_cols)

内容的提问来源于stack exchange,提问作者Sri Goverdhan Sam

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 13:03:24