2017-08-08 66 views
0

我的程序需要輸入文件名並對文件進行一些修改。如果用戶輸入了錯誤的名字,我不希望我的程序崩潰。在csv中讀取異常處理

目前,我的代碼是:

try: 
    df = pd.read_csv('directory\\%s' % user_input) 
except Exception: 
    [error message] 

出於某種原因,我一直連收到錯誤消息時,文件名存在。我的方法有問題嗎?

+0

''directory \\ name'%user_input' ??嘗試''目錄\\%s'%user_input'而不是.. –

+0

啊對不起,這是一個錯字(固定)。用%s,它會發出錯誤信息。 –

+1

固定?所以你可以[編輯]你的問題?並嘗試'除了例外作爲e:'然後'打印(str(e))'你會得到確切的異常信息 –

回答

0

您的文件路徑格式錯誤。

'directory\\%s' % user_input 
1

只要有可能,您應該嘗試具體處理您的異常。你的代碼看起來不太正確。 import os

try: 
    df = pd.read_csv(os.path.join(directory, user_input)) 
except IOError as e: 
    # print e 

可能是你想要的。

+0

這工作。你能向我解釋它做了什麼嗎?謝謝 –

+0

上面的代碼捕捉到了具有IOError的特定情況,在這種情況下,您可以處理它或繼續。而不是嘗試自己加入路徑的目錄和基準名稱。我使用了os.path.join方法,它知道諸如路徑分隔符之類的東西併爲我生成路徑。 –