教你利用python如何讀取txt中的數據
前言
當我們在用python時可能會遇到想要把txt文檔裡的數據讀取出來然後進行繪圖,那麼我們要怎麼才能夠將txt裡的數據讀取出來呢?
假設有txt文本如下:
想要把上述文本數據讀取出來,可以用以下方法:
方法一:運用open()函數
該方法使用最基本的open函數進行讀取,此處將會把數據讀取到一個列表中,這個方法一般就是open打開文件、read讀取文件、close關閉文件3個步驟,主要代碼如下:
def openreadtxt(file_name): data = [] file = open(file_name,'r') #打開文件 file_data = file.readlines() #讀取所有行 for row in file_data: tmp_list = row.split(' ') #按‘,'切分每行的數據 #tmp_list[-1] = tmp_list[-1].replace('\n',',') #去掉換行符 data.append(tmp_list) #將每行數據插入data中 return data if __name__=="__main__": data = openreadtxt('test.txt') print(data)
結果如下圖,已經成功打印出txt數據,這裡默認讀取的都是字符串類型,需要的話,可以進行類型轉換,int,float都行:
方法二:使用numpy包的loadtxt方法
使用numpy包的loadtxt方法(在處理實驗數據中經常用到),numpy是python的一個科學庫,至於安裝教程參考python中的NumPy,使用loadtxt方法讀取txt文件主要代碼如下(這裡要求的數據必須是數字,不能是字母等字符,不然會報錯,因為numpy本身是做計算的,所以讀取的數據已經轉化為數值類型,非字符串,這種方法在處理實驗數據中經常會用到,簡單快捷)︰
import numpy as np def loadtxtmethod(filename): data = np.loadtxt(filename,dtype=np.float32,delimiter=',') return data if __name__=="__main__": data = loadtxtmethod('D:\paper reading\基於優勝劣汰模型選擇的聯邦學習方案\BBOA_ACC.txt') print(data)
程序運行截圖如下,已經成功打印出txt數據,這裡返回的是ndarray類型:
方法三:使用pandas的read_table方法進行讀取
首先先安裝pandas依賴包:
工具:
anaconda+python環境
步驟一:打開anaconda,如下:
步驟二:進入你要安裝的python環境(虛擬環境,默認為base):
命令為: activate+虛擬環境名稱
步驟三:安裝pandas
命令為:pip install pandas
至此,pandas包安裝完成。此外其他python的依賴包也是依照上述方法進行安裝
pandas是python的一個數據處理的包,功能很強大,提供瞭許多現成的讀取各種文件的方法,像csv文件的read_csv方法,excel文件的read_excel方法等,主要代碼如下(這裡不必要是數值的數據)︰
import pandas def read_tablemethod(filename): data = pandas.read_table(filename,header=None,delim_whitespace=True) return data if __name__=="__main__": data = read_tablemethod('D:\paper reading\基於優勝劣汰模型選擇的聯邦學習方案\BBOA_ACC.txt') print(data)
程序運行結果如下,已經成功打印出數據,這裡返回的是DataFrame類型:
總結
到此這篇關於利用python如何讀取txt中數據的文章就介紹到這瞭,更多相關python讀取txt的數據內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- python數據分析之文件讀取詳解
- Python 如何讀取.txt,.md等文本文件
- python利用pandas分析學生期末成績實例代碼
- Python遍歷目錄下文件、讀取、千萬條數據合並詳情
- 在Pycharm中安裝Pandas庫方法(簡單易懂)