Python Spark-如何将空的DataFrame输出到csv文件(仅输出标头)?

Wel*_*ell 5 csv apache-spark pyspark spark-dataframe

我想将空数据框输出到csv文件。我使用以下代码:

df.repartition(1).write.csv(path, sep='\t', header=True)
Run Code Online (Sandbox Code Playgroud)

但是由于数据帧中没有数据,因此spark不会将标头输出到csv文件。然后,我将代码修改为:

if df.count() == 0:
    empty_data = [f.name for f in df.schema.fields]
    df = ss.createDataFrame([empty_data], df.schema)
    df.repartition(1).write.csv(path, sep='\t')
else:
    df.repartition(1).write.csv(path, sep='\t', header=True)
Run Code Online (Sandbox Code Playgroud)

它有效,但是我想问一问是否有没有count函数的更好方法。

Zha*_*ong 1

仅标题:

cols = '\t'.join(df.columns)
with open('./cols.csv', 'w') as f:
    f.write(cols)
Run Code Online (Sandbox Code Playgroud)