Блоки данных: конвертировать фрейм данных и экспортировать в xls / xlsx - PullRequest
0 голосов
/ 30 сентября 2019

Возможно ли для блоков данных: преобразовать фрейм данных и экспортировать их в xls / xlsx и сохранить в хранилище больших двоичных объектов? Использование Python

Ответы [ 2 ]

0 голосов
/ 04 октября 2019

Вот пример написания кадра данных для 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 от 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 в командной строке)

0 голосов
/ 02 октября 2019

Должен ли это быть файл Excel? С файлами CSV намного проще работать. Вы, безусловно, можете открыть CSV в Excel и сохранить его как файл Excel. Как я знаю, вы можете писать напрямую в хранилище BLOB-объектов и полностью обойти этап локального хранения данных.

df.write.
    format("com.databricks.spark.csv").
    option("header", "true").
    save("myfile.csv")

В этом примере вы можете попробовать изменить расширение на xls, прежде чем запускать задание. ,Я не могу проверить это, потому что у меня нет персональных данных на моем персональном ноутбуке.

...