我正在使用python,我想讀取* .ods文件並將其轉換爲python字典。電子表格到Python字典的轉換
該鍵將是第一列值,該值將是第二列值。
我該怎麼辦呢?我使用xlrd
,但它不讀取* .ods文件。
我正在使用python,我想讀取* .ods文件並將其轉換爲python字典。電子表格到Python字典的轉換
該鍵將是第一列值,該值將是第二列值。
我該怎麼辦呢?我使用xlrd
,但它不讀取* .ods文件。
您可以先將.ODS轉換爲csv嗎?然後使用csv模塊使用Python解析CSV非常簡單。
謝謝,但據我所知,只有將ods轉換爲cvs的方式是開放式辦公服務。但我不想使用它。我可以直接將它轉換成字典 – 2011-01-20 09:03:33
檢查py-odftools。
在Linux Journal上有一篇很棒的文章如何在python中讀取ods。 Ods文件是一個包含xml文件的juz zip文件。你可以解析XML文件來讀取所有的單元格。
一些可用的選項:
pyexcel-ods:pip install pyexcel-ods
: 「包裝庫讀取,處理和消耗臭氧層物質的格式寫入數據」 可以通過安裝。我個人推薦這個包,因爲我已經使用它,它正在積極維護。
py-odftools:「...的工具,在ISO標準的OpenDocument格式解析,轉換和創建文件集」 這個項目一直沒有更新自2007年底它看起來拋棄。
ezodf: 「Python包創建/操縱OpenDocumentFormat文件。」 通過pip install ezodf
可安裝。請在下面的評論中注意關於這個軟件包的嚴重問題的警告。
雖然您可以要求您的用戶使用文件>另存爲(您可能知道),但這可能對您的情況沒有幫助。
使用libre/openoffice服務可能更容易。它可以在服務器上完全無人運行,而無需安裝或運行X11,這將爲您提供乾淨的本地轉換。
libreoffice --without-x --convert-to csv filename.ods
有關詳細信息,請查閱libreoffice --help(或openoffice --help)。這也可以包含在os.system(),subprocess。*()等中(注意:在Windows上使用-convert-to)。另請注意:您不能運行任何 Libre/Open/Star辦公室,包括快速入門者。
更新:使用LibreOffice的早期版本 - 無頭版而不是--without-x。
http://pypi.python.org/pypi/ezodf或http://udk.openoffice.org/python/python-bridge.html – marcog 2011-01-20 08:56:41
@marcog:此評論應該是一個答案。 – 2011-01-20 09:19:26
@Space我只是放棄了我沒有真正閱讀過的可能性,所以我不覺得這是一個完整的答案。 – marcog 2011-01-20 09:24:37