如何从pyspark中的数据帧结果中消除行和列名称值?

时间:2017-07-11 17:09:33

标签: python pyspark spark-dataframe

您好我正在将csv文件加载到数据框中,并在数据框上运行过滤操作,我得到如下输出

[Row(table_name=u'DEMO', rec_count=u'170049', col_count=u'36')]

如何获得如下所示的输出

`['DEMO','170049','36']`

我尝试了单编码,我可以使用for循环来迭代数据,但问题是数据是动态的,有时我得到三个以上的值,但我想自动化过程,但我无法获得上述数据< / p>

1 个答案:

答案 0 :(得分:1)

你有一个列表,其元素是一个Row对象;您可以使用键列表来定义结果中所需的列和相应的顺序,然后使用列表解析从 Row 对象中提取它们:

# this is what you have now
x = [Row(table_name=u'DEMO', rec_count=u'170049', col_count=u'36')]

keys = ['table_name', 'rec_count', 'col_count']
[x[0][key] for key in keys]
# [u'DEMO', u'170049', u'36']
相关问题