文本文件可存儲的數據量多、每當需要分析或修改存儲在文件中的信息時,讀取文件都很有用,對數據分析應用程式 處理文件,讓程式能夠快速地分析大量的數據處理文件和保存數據可讓你的程式使用起來更容易 一、從文件中讀取數據1)讀取整個文件:先創建一個任意的文本文件,設置任意行,任意個數據,命名為data.txt ...
文本文件可存儲的數據量多、每當需要分析或修改存儲在文件中的信息時,讀取文件都很有用,對數據分析應用程式
處理文件,讓程式能夠快速地分析大量的數據
處理文件和保存數據可讓你的程式使用起來更容易
一、從文件中讀取數據
1)讀取整個文件:
先創建一個任意的文本文件,設置任意行,任意個數據,命名為data.txt,如下所示:
415926535897 932384626433 832795028841 9716939 937510 234 321
打開data.txt,並讀取到程式中
with open('data.txt') as file_object: #方法open() 打開文件 ,並且接受一個參數,即要打開的文件的名稱 contents = file_object.read() #方法 read() 讀取這個文件的全部內容,並將其作為字元串存儲在變數 contents 中 print(contents) #列印字元串contents
執行結果如下:
415926535897 932384626433 832795028841 9716939 937510 234 321
2)文件路徑
上述 open('data.txt') 其中data.txt文件必須和.py模塊(文件)放在同一個文件夾中,為方便打開其他文件,可以使用相對文件路徑和 絕對文件路徑。
#使用絕對路徑打開文件 file_path = 'E:\WorkSpace\python\coding\data.txt' #使用絕對路徑,可讀取系統任何地方的文件 with open(file_path) as file_object: contents = file_object.read() print(contents)
3)逐行讀取
上述都是一次讀取data.txt中的內容,讀取文件時,可能需要檢查其中的每一行或者查找特定的信息,或者要以某種方式修改文件中的文本,可使用 for 迴圈以每次一行的方式檢查文件。
filename = 'E:\WorkSpace\python\coding\data.txt' with open(filename) as file_object: for line in file_object: print(line.rstrip()) #消除多餘的空白
4)使用列表來存取讀入的行,其中每一行相當於列表的一個元素。(重新創建了一個pi.txt的文本,裡面有若幹行數字。)
pi.txt文件內容如下:註意,前後有空格
3.14159265358979323846264338 32795028841971693993751058 20974944592307816406286208 99862803482534211706791201 611596
程式如下:
#創建一個包含文件各行內容的列表 filename = 'pi.txt' with open(filename) as file_object: lines = file_object.readlines() #方法 readlines() 從文件中讀取每一行,並將其存儲在一個列表中 for line in lines: # for 迴圈來列印 lines 中的各行 print(line.strip()) #方法strip()去除每行首尾的空格。
5)使用文件的內容,將文件讀取到記憶體中後,就可以以任何方式使用這些數據。
filename = 'pi.txt' with open(filename) as file_object: lines = file_object.readlines() #方法 readlines() 從文件中讀取每一行,並將其存儲在一個列表中 #上述代碼完成後,結果應該為:lines=['3.141592****','32795028841971','20974944592',]形式 pi_string = '' #定義一個空字元串 for line in lines: # for 迴圈來將lines中的各元素連接起來 pi_string += line.strip() #strip()用來消除每個元素(txt文件中的每行)首尾的空白行 print(line.strip() ) print(pi_string) #列印連接好的字元串 print(len(pi_string)) #求字元串的長度
運行結果:(註意每行前後的空格已經消除,strip()方法的作用)
3.14159265358979323846264338 32795028841971693993751058 20974944592307816406286208 99862803482534211706791201 611596 3.14159265358979323846264338327950288419716939937510582097494459230781640628620899862803482534211706791201611596 112
未完待續