2015-10-13 82 views
0

我正在練習openpyxl,我正在研究名爲'test.xlsx'的Excel文件。該文件只有3列和7行。 .xlsx文件是使用LibreOffice創建的。Python,openpyxl:運行get_highest_column()時得到錯誤的值

當我運行...

>>> #! python3 
>>> import openpyxl 
>>> wb = openpyxl.load_workbook('test.xlsx') 
>>> sheet = wb.get_sheet_by_name('Sheet1') 
>>> sheet.get_highest_column() 
1025 

返回的值應爲3

一個快速谷歌搜索建議我運行:

>>> sheet.calculate_dimension() 

,並獲得返回值:

'A1:AMK7' 

這應該只是'A1:C7'

我記得讀到LibreOffice可能是這個問題的一部分。 但是,我不能切換到MSOffice,我討厭OpenOffice。

有沒有關於如何解決這個問題的建議,或者解決它? 謝謝!

+0

另一種解決方案是'rango = wb.max_column' –

回答

1

這聽起來像你使用舊版本的LibreOffice和openpyxl。 LibreOffice的確曾經爲維度設置了默認值「A1:AMK7」,但它的版本5似乎沒有這樣做了。在閱讀文件時,openpyxl過去依賴尺寸標籤,但一段時間沒有這樣做。請嘗試使用openpyxl 2.3-b2

+0

嘿,感謝您的輸入!我將LibreOffice更新爲5,將openpyxl更新爲v 2.3-b2。問題解決了。謝謝! – michaelverano