我试图将所有的值从行到列。我没有索引,因此很难在一列中全部包含索引。

代码:获取值

traceFilters = sqlContext.read.format("csv").options(header='true', delimiter = ',').load("/data/*.txt")

traceFilters.take(5)
fields = [
 StructField("City", StringType(), False),
 StructField("Country", StringType(), False)
]

traceFilters.track(5)

for row in traceFilters.rdd.collect():
    a =  row.City
    print a


这是我从上面的代码中获取的数据:

New York
London
Vienna


和我想要的结果。

[ New York, London, Vienna ]

我尝试使用transpose,但它不起作用,也不能用于zip
我试过的代码:

print a.transpose()


val1= a.set_index('City').T

任何帮助表示赞赏。

谢谢

最佳答案

看起来您只是在打印每个值,但是您确实需要一个列表。这会将每个值附加到列表中,然后打印出来:

traceFilters = sqlContext.read.format("csv").options(header='true', delimiter = ',').load("/data/*.txt")

traceFilters.take(5)
fields = [
 StructField("City", StringType(), False),
 StructField("Country", StringType(), False)
]

traceFilters.track(5)

a = []
for row in traceFilters.rdd.collect():
    a.append(row.City)
print(a)

07-24 09:46