python 數據的清理行為實例詳解
數據清洗主要是指填充缺失數據,消除噪聲數據等操作,主要還是通過分析“臟數據”產生的原因和存在形式,利用現有的數據挖掘手段去清洗“臟數據”,然后轉化為滿足數據質量要求或者是應用要求的數據。 
1、try 語句還有另外一個可選的子句,它定義了無論在任何情況下都會執行的清理行為。
例如:
>>>try:raiseKeyboardInterruptfinally:print('Goodbye, world!')Goodbye, world!Traceback(most recent call last):File"<pyshell#71>", line 2,in<module>raiseKeyboardInterruptKeyboardInterrupt以上例子不管try子句里面有沒有發生異常,finally子句都會執行。 
2、如果一個異常在 try 子句里(或者在 except 和 else 子句里)被拋出,而又沒有任何的 except 把它截住,那么這個異常會在 finally 子句執行后再次被拋出。
下面是一個更加復雜的例子(在同一個 try 語句里包含 except 和 finally 子句):
>>>def divide(x, y):try: result = x / yexceptZeroDivisionError:print("division by zero!")else:print("result is", result)finally:print("executing finally clause")>>> divide(2,1)result is2.0executing finally clause>>> divide(2,0)division by zero!executing finally clause>>> divide("2","1")executing finally clauseTraceback(most recent call last):File"<pyshell#91>", line 1,in<module>  divide("2","1")File"<pyshell#88>", line 3,in divide 3、預定義的清理行為
一些對象定義了標準的清理行為,無論系統是否成功的使用了它,一旦不需要它了,那么這個標準的清理行為就會執行。
這面這個例子展示了嘗試打開一個文件,然后把內容打印到屏幕上:
>>>for line in open("myfile.txt"):print(line, end="")Traceback(most recent call last):File"<pyshell#94>", line 1,in<module>for line in open("myfile.txt"):FileNotFoundError:[Errno2]No such file or directory:'myfile.txt'以上這段代碼的問題是,當執行完畢后,文件會保持打開狀態,并沒有被關閉。
關鍵詞 with 語句就可以保證諸如文件之類的對象在使用完之后一定會正確的執行他的清理方法:
>>>with open("myfile.txt")as f:for line in f:print(line, end="")Traceback(most recent call last):File"<pyshell#98>", line 1,in<module>with open("myfile.txt")as f:FileNotFoundError:[Errno2]No such file or directory:'myfile.txt'以上這段代碼執行完畢后,就算在處理過程中出問題了,文件 f 總是會關閉。
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
| 
 
 | 
新聞熱點
疑難解答