2017-09-06 21 views
2

我想寫我的火花dataframes在一個Excel文件在大熊貓數據框中改變它們,然後用出口數據幀到excel文件中給出的「openpyxl」模塊未安裝

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的管理員權限,因爲它說「須藤:易於得到:找不到命令」和我也嘗試過使用點到沒有使用,因爲它沒有安裝。有什麼其他方法可以在Excel中寫入我的數據框?

回答

0

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

您可以克隆庫從它的源代碼庫的位置:

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) 
+0

你好我不能克隆庫。 「/idn/home/sagar134/openpyxl/.git/中初始化的空Git存儲庫錯誤:無法在訪問https://bitbucket.org/openpyxl/openpyxl/info/refs時解析主機'bitbucket.org' 這就是它說的,然後我嘗試了ping,這是不成功,所以我猜我的防火牆已經阻止了網站?(即使我可以訪問瀏覽器的網站)。我發現這個鏈接,他們標記它「不會解決」https://bitbucket.org/site/master/issues/6904/error-couldnt-resolve-host-bitbucketorg – buddygyan

+0

@buddygyan如果你的防火牆阻止訪問互聯網,你可以在您的本地機器上克隆回購,並在發運實際業務代碼時將其發運到遠程服務器(可能使用filezilla或scp ...) – MedAli

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