繁体   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