教你利用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!

推薦閱讀: