我试图在Excel文件中写下我的Spark DataFrames,以通过在Pandas DataFrame中更改它们,然后使用
来生成所需的报告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 to pip to n y to it 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和FileOutTuptuptifformats:https://github.com/zuinnote/hadoopoffice