在没有安装'openpyxl'模块的情况下,将pyspark中的数据框导出为ex​​cel文件

我试图写我的火花数据框在一个Excel文件来生成所需的报告,通过在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 

我在远程服务器上运行这个,因此没有pipe理员权限使用sudo apt-get,因为它说“Sudo:apt-get:command not found”,我也尝试使用PIP没有使用,因为它没有安装无论是。 有什么其他的方式,我可以在Excel中写我的数据框?

您可以按照以下步骤操作。

您可以在这里从它的源代码库克隆库:

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

进入openpyxl目录,然后运行以下命令,在没有pipe理员权限的情况下为用户安装:

 python setup.py install --user 

然后,您可以将代码的path添加到代码中,如下所示:

 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)。 您可以读取/写入encryption的Excel文件,链接到其他工作簿,具有元数据等。此外,它具有较低的占用空间模式,使您可以快速写入较大的Excel文件,而不需要大量的内存量或CPU: https:// github的.com / ZuInnoTe /火花hadoopoffice-DS

该数据源基于HadoopOffice库,几乎允许任何Hadoop应用程序读取/写入Excel文件,因为它具有相应的Hadoop FileInputFormats和FileOutputFormats: https : //github.com/ZuInnoTe/hadoopoffice