AttributeError:'NoneType'对象没有属性'upper'[关闭]
Posted
技术标签:
【中文标题】AttributeError:\'NoneType\'对象没有属性\'upper\'[关闭]【英文标题】:AttributeError: 'NoneType' object has no attribute 'upper' [closed]AttributeError:'NoneType'对象没有属性'upper'[关闭] 【发布时间】:2021-01-05 13:39:04 【问题描述】:我有一个 PySpark 数据框 (df),并试图添加一个列 (capital_names),该列将是一个现有列 (names),其名称已转换为大写字母。我做了如下:
def capital(text):
return text.upper()
udf_capital = udf(capital,StringType())
df2 = df.withColumn("capital_names",udf_capital("names"))
df2.show()
运行代码时,当我尝试显示生成的数据框时出现错误:
AttributeError: 'NoneType' object has no attribute 'upper'
但是,我检查了我的数据框的架构,并且列“名称”是 StringType,我该如何解决这个问题? 提前致谢!
【问题讨论】:
请edit您的问题并显示minimal reproducible example。 【参考方案1】:列中有空值。尝试在 UDF 中添加一个检查来捕捉它。
def capital(text):
if text is not None:
return text.upper()
else:
return None
【讨论】:
以上是关于AttributeError:'NoneType'对象没有属性'upper'[关闭]的主要内容,如果未能解决你的问题,请参考以下文章
AttributeError:'NoneType'对象没有属性'upper'[关闭]
%Matplotlib - AttributeError: 'NoneType' 对象没有属性 'lower'
BeautifulSoup:AttributeError:“NoneType”对象没有属性“文本”
Elastic Beanstalk 部署错误:AttributeError :: 'NoneType' 对象没有属性 'split'