2014-04-15 32 views
0

我有一個數據框,我正在導出到Excel,並且人們希望使用.xlsx。我使用to_excel,但是當我將擴展名從.xls更改爲.xlsx時,導出步驟大約需要9秒,而不是1秒。導出到.csv甚至更快,我相信這是由於它只是一個特殊格式的文本文件。爲什麼將數據導出爲.xlsx比將.xls或.csv導出要慢得多?

也許.xlsx文件只是增加了許多功能,所以寫入它們需要更長的時間,但我希望有一些事情可以做,以防止出現這種情況。

+1

'.xlsx'文件是壓縮到'zip'文件的文件包。後者可能是一個不重要的原因。 – kindall

回答

3

熊貓默認使用OpenPyXL編寫xlsx文件,該文件可能比用於編寫xls文件的xlwt模塊慢。

嘗試它,而不是XlsxWriter爲XLSX輸出引擎:

df.to_excel('file.xlsx', sheet_name='Sheet1', engine='xlsxwriter') 

應該儘可能快是因爲XLS引擎。

+0

它的工作!謝謝。它跑了3.1秒,其中出口約1.5秒。 此外,對於任何閱讀此內容的人,請確保您擁有熊貓版本0.13.1,因爲它在0.12.0中對我無效。 – Danny