簡體   English   中英

鑒於未安裝“openpyxl”模塊,將 pyspark 中的數據框導出到 excel 文件

[英]Export dataframe in pyspark to excel file given the 'openpyxl' module is not installed

我正在嘗試在 excel 文件中編寫我的 spark 數據框,以通過在 pandas 數據框中更改它們然后使用來生成所需的報告

panda_df = df.toPandas()
writer = pd.ExcelWriter(filename)
panda_df.to_excel(writer,'Sheet1', startcol = 0, startrow = 0)

這給出了一個錯誤說

File "/usr/lib64/python2.6/site-packages/pandas/io/excel.py", line 350, in __init__
from openpyxl.workbook import Workbook
ImportError: No module named openpyxl.workbook

我在遠程服務器上運行它,因此沒有使用 sudo apt-get 的管理員權限,因為它說“Sudo:apt-get:找不到命令”,我也嘗試過使用 pip 來不使用它,因為它沒有安裝任何一個。 有沒有其他方法可以在excel中編寫我的數據框?

您可以進行如下操作。

您可以在此處從其源存儲庫克隆該庫:

git clone https://bitbucket.org/openpyxl/openpyxl

進入 openpyxl 目錄,然后運行以下命令為您的用戶安裝它,無需管理員權限:

python setup.py install --user

然后,您可以將 openpyxl 的路徑添加到您的代碼中,如下所示:

import sys
sys.path.append('/path/to/openpyxl/folder')

panda_df = df.toPandas()
writer = pd.ExcelWriter(filename)
panda_df.to_excel(writer,'Sheet1', startcol = 0, startrow = 0)

或者,您可以使用 HadoopOffice 庫的 Spark2 數據源(也支持 Python)。 您可以讀取/寫入加密、鏈接到其他工作簿、具有元數據等的 Excel 文件。此外,它具有低占用模式,可讓您快速寫入較大的 Excel 文件,而無需大量內存或 CPU: https://github .com/ZuInnoTe/spark-hadoopoffice-ds

數據源基於 HadoopOffice 庫,幾乎可以讓任何 Hadoop 應用程序讀取/寫入 Excel 文件,因為它具有相應的 Hadoop FileInputFormats 和 FileOutputFormats: https ://github.com/ZuInnoTe/hadoopoffice

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM