2015-06-22 97 views
1

我有一個Web應用程序(基於Django 1.5),其中用戶上傳電子表格文件。如何在Python中讀取/寫入xlsx和xls文件?

我一直在使用xlrd來處理xls文件,並調查了openpyxl聲稱支持xlsx/xlsm文件。

那麼有沒有一種常見的方式來讀取/寫入xls和xlsx文件?

另一種選擇可能是將上傳的文件轉換爲xls並使用xlrd。爲此,我查看了gnumericssconvert,這將是有利的,因爲我用xlrd和I編寫的所有現有代碼都不必更改現有的代碼庫。

因此,我應該更改我使用的庫還是使用轉換解決方案?

在此先感謝。

+0

檢查xlwings是否適合您的目的。 (http://xlwings.org/) –

回答

1

xlrd可以讀取xlsx和xls文件,因此使用它可能是最簡單的。對xlsx的支持並不像openpyxl那麼廣泛,但應該足夠了。

將xlsx轉換爲xls會有丟失信息的風險,因爲xlsx文件可能會大得多。

+0

當我用xlrd解析我的xlsx文件時,它拋出了一個斷言錯誤,本質上排除了xlrd。 – aliasav

+0

我對xlrd瞭解不多。如果以優化模式運行Python,則可能能夠解決斷言錯誤。你可能想提交一個錯誤。雖然拉請求會更好。 您可以嘗試通過無頭OpenOffice運行文件,以將它們歸一化爲一種格式或另一種格式。 否則,你可能不得不使用這兩個庫。這些API是相似的,但在一些重要領域有所不同:值得注意的是,openpyxl使用1-索引。 –

+0

原來,openpyxl與xls文件不兼容,我猜想轉換是我現在最好的選擇,但是我將不得不在一天之內將xlrd代碼移植到openpyxl。 – aliasav