对于Databricks:转换数据帧并导出到xls / xlsx并保存到blob存储中是可能的吗?使用Python
发布于 2019-10-02 10:43:15
它必须是Excel文件吗?CSV文件使用起来要容易得多。您当然可以在Excel中打开CSV,然后将其另存为Excel文件。据我所知,您可以直接写入Blob存储,并完全绕过在本地存储数据的步骤。
df.write.
format("com.databricks.spark.csv").
option("header", "true").
save("myfile.csv")
在本例中,您可以在运行作业之前尝试将扩展名更改为xls。我无法对此进行测试,因为我的个人笔记本电脑上没有安装Databricks。
发布于 2019-10-04 06:38:33
下面是一个将数据帧写入excel的示例:
使用pyspark:
df.write
.format("com.crealytics.spark.excel")
.option("dataAddress", "'My Sheet'!B3:C35")
.option("useHeader", "true")
.option("dateFormat", "yy-mmm-d")
.option("timestampFormat", "mm-dd-yyyy hh:mm:ss")
.mode("append")
.save("Worktime2.xlsx")
基于这个库:spark-excel by Crealytics。
下面的方法不需要太多的操作。首先,将pyspark数据帧转换为pandas数据帧(toPandas()),然后使用"to_excel“将其写入excel格式。
import pandas
df.describe().toPandas().to_excel('fileOutput.xls', sheet_name = 'Sheet1', index = False)
注意,上面的代码需要安装xlwt包(命令行中的pip install xlwt )
https://stackoverflow.com/questions/58169449
复制相似问题