2013-12-20 19 views
4

我嘗試使用Python和xlrd打開一個Excel工作表,但我還是有以下錯誤的Python 2.7類型錯誤:文件()參數1必須編碼字符串沒有NULL字節,而不是str的

error in open_workbook:

f = open(filename, "rb")

TypeError: file() argument 1 must be encoded string without NULL bytes, not str.

這是我的代碼:

FILE = tkFileDialog.askopenfile() 
string=FILE.read() 
wb = xlrd.open_workbook(string) 

請問這是怎麼回事?非常感謝

+0

'print repr(filename)'並告訴我們你得到了什麼。 – user2357112

+0

看起來您正在閱讀的文件中有空字節以獲取文件名。 – user2357112

+0

print repr(FILE)你的意思是?我得到:<打開文件u'C:/Users/pmarguer/Documents/PM/FSM1_GSM_List_Parameters_V3.01_AI.xlsm',模式'r'在0x02A46C28> –

回答

0

您需要使用askopenfilename而不是askopenfile,除非您確實在傳遞文件而不是名稱。

FILE = tkFileDialog.askopenfilename() 
string = FILE.read() 
wb = xlrd.open_workbook(string) 
相關問題