繁体   English   中英

获取“列表”object 在 python 中没有属性“tolist”

[英]Getting 'list' object has no attribute 'tolist' in python

我正在尝试运行 pyspark 脚本。 在这个脚本中,我正在执行 sql 查询并在我尝试将最后一列 position 更改为第一列之后创建 dataframe 但它给了我错误。 你能帮我怎么做吗?

代码:

if(masterjobname.endswith('ADDR_Phani')):
            df = sqlContext.sql(query)
            print("Target:  "+targetpath )
            w = (Window().orderBy("SOURCE_COLUMN_VALUE"))
            df = df.withColumn("SYSTEM_ID", dense_rank().over(w))
            cols = df.columns.tolist()
            cols = cols[-1:] + cols[:-1]
            df = df[cols]

好的,我得到了答案。

df.columns.values.tolist()给出列的列表。

解决方案:

if(masterjobname.endswith('ADDR_Phani')):
            df = sqlContext.sql(query)
            print("Target:  "+targetpath )
            w = (Window().orderBy("SOURCE_COLUMN_VALUE"))
            df = df.withColumn("SYSTEM_ID", dense_rank().over(w))
            cols = df.columns.values.tolist()
            cols = cols[-1:] + cols[:-1]
            df = df[cols]

无论您的变量是或不是列表:

list(var)

您可以将其用作异常处理; 即确保它确实是一个列表 object。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM