我正在使用xlrd 0.9.4我想驗證一下我必須打開的文件是否有效。xlrd - 開放文件問題
要做到這一點,我寫了這個代碼in according with this question:
try:
book = xlrd.open_workbook(file_path)
print "Done"
except XLRDError:
print "Wrong type of file."
其中FILE_PATH是我的文件的路徑。
這工作正常,問題如下。首先我有一個有效的.xls文件,所以腳本打印完成。現在,假定有效的.xls文件被重命名(也是擴展名),例如從test.xls到test.txt。
如果我運行腳本,我有相同的結果(完成)。相反,如果我使用「真實」.txt文件(空或帶有一些文本),腳本將打印錯誤的文件類型。
發生此行爲是因爲文件的「結構」沒有更改?難道我做錯了什麼?除分支外,還有另外一種類型的異常,我可以添加到?
在此先感謝
您可以使用'if file_path.endswith(「。xls」)或file_path.endswith(「。xlsx」):'來測試擴展名。 – Andrew
「有效」是什麼意思? –
關於這種行爲究竟是怎麼樣的,不是你期望的?對我完全意義。文件的名稱/擴展名與其內容無關。事實上 - 輸入甚至可以是一個StringIO對象,因此甚至不會有物理文件名......您問圖書館是否可以將數據作爲有效的工作簿進行處理,並且上述代碼完全符合...... –