教你利用python如何讀取txt中的數(shù)據(jù)
前言
當(dāng)我們?cè)谟胮ython時(shí)可能會(huì)遇到想要把txt文檔里的數(shù)據(jù)讀取出來然后進(jìn)行繪圖,那么我們要怎么才能夠?qū)xt里的數(shù)據(jù)讀取出來呢?
假設(shè)有txt文本如下:
想要把上述文本數(shù)據(jù)讀取出來,可以用以下方法:
方法一:運(yùn)用open()函數(shù)
該方法使用最基本的open函數(shù)進(jìn)行讀取,此處將會(huì)把數(shù)據(jù)讀取到一個(gè)列表中,這個(gè)方法一般就是open打開文件、read讀取文件、close關(guān)閉文件3個(gè)步驟,主要代碼如下:
def openreadtxt(file_name): data = [] file = open(file_name,'r') #打開文件 file_data = file.readlines() #讀取所有行 for row in file_data: tmp_list = row.split(' ') #按‘,'切分每行的數(shù)據(jù) #tmp_list[-1] = tmp_list[-1].replace('\n',',') #去掉換行符 data.append(tmp_list) #將每行數(shù)據(jù)插入data中 return data if __name__=="__main__": data = openreadtxt('test.txt') print(data)
結(jié)果如下圖,已經(jīng)成功打印出txt數(shù)據(jù),這里默認(rèn)讀取的都是字符串類型,需要的話,可以進(jìn)行類型轉(zhuǎn)換,int,float都行:
方法二:使用numpy包的loadtxt方法
使用numpy包的loadtxt方法(在處理實(shí)驗(yàn)數(shù)據(jù)中經(jīng)常用到),numpy是python的一個(gè)科學(xué)庫,至于安裝教程參考python中的NumPy,使用loadtxt方法讀取txt文件主要代碼如下(這里要求的數(shù)據(jù)必須是數(shù)字,不能是字母等字符,不然會(huì)報(bào)錯(cuò),因?yàn)閚umpy本身是做計(jì)算的,所以讀取的數(shù)據(jù)已經(jīng)轉(zhuǎn)化為數(shù)值類型,非字符串,這種方法在處理實(shí)驗(yàn)數(shù)據(jù)中經(jīng)常會(huì)用到,簡(jiǎn)單快捷)︰
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\基于優(yōu)勝劣汰模型選擇的聯(lián)邦學(xué)習(xí)方案\BBOA_ACC.txt') print(data)
程序運(yùn)行截圖如下,已經(jīng)成功打印出txt數(shù)據(jù),這里返回的是ndarray類型:
方法三:使用pandas的read_table方法進(jìn)行讀取
首先先安裝pandas依賴包:
工具:
anaconda+python環(huán)境
步驟一:打開anaconda,如下:
步驟二:進(jìn)入你要安裝的python環(huán)境(虛擬環(huán)境,默認(rèn)為base):
命令為: activate+虛擬環(huán)境名稱
步驟三:安裝pandas
命令為:pip install pandas
至此,pandas包安裝完成。此外其他python的依賴包也是依照上述方法進(jìn)行安裝
pandas是python的一個(gè)數(shù)據(jù)處理的包,功能很強(qiáng)大,提供了許多現(xiàn)成的讀取各種文件的方法,像csv文件的read_csv方法,excel文件的read_excel方法等,主要代碼如下(這里不必要是數(shù)值的數(shù)據(jù))︰
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\基于優(yōu)勝劣汰模型選擇的聯(lián)邦學(xué)習(xí)方案\BBOA_ACC.txt') print(data)
程序運(yùn)行結(jié)果如下,已經(jīng)成功打印出數(shù)據(jù),這里返回的是DataFrame類型:
總結(jié)
到此這篇關(guān)于利用python如何讀取txt中數(shù)據(jù)的文章就介紹到這了,更多相關(guān)python讀取txt的數(shù)據(jù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python + Requests + Unittest接口自動(dòng)化測(cè)試實(shí)例分析
這篇文章主要介紹了Python + Requests + Unittest接口自動(dòng)化測(cè)試,結(jié)合具體實(shí)例形式分析了Python使用Requests與Unittest模塊實(shí)現(xiàn)接口自動(dòng)化測(cè)試相關(guān)操作技巧,需要的朋友可以參考下2019-12-12numba提升python運(yùn)行速度的實(shí)例方法
在本篇文章里小編給大家整理的是一篇關(guān)于numba提升python運(yùn)行速度的實(shí)例方法,有興趣的朋友們可以參考下。2021-01-01pandas數(shù)據(jù)探索之合并數(shù)據(jù)示例詳解
這篇文章主要為大家介紹了pandas數(shù)據(jù)探索之合并數(shù)據(jù)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-10-10利用python實(shí)現(xiàn)PSO算法優(yōu)化二元函數(shù)
這篇文章主要介紹了python實(shí)現(xiàn)PSO算法優(yōu)化二元函數(shù)的代碼,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-11-11python實(shí)現(xiàn)銀行管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)銀行管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-10-10Python使用turtle和matplotlib繪制圓和愛心的示例代碼
這篇文章主要是帶大家用Python的turtle和matplotlib畫出圓滿和愛心,文中的示例代碼講解的非常詳細(xì),對(duì)我們學(xué)習(xí)Python有一定幫助,感興趣的可以了解一下2023-06-06用python實(shí)現(xiàn)各種數(shù)據(jù)結(jié)構(gòu)
這篇文章主要分享的是用python實(shí)現(xiàn)各種數(shù)據(jù)結(jié)構(gòu),快速排序、選擇排序、插入排序、歸并排序、堆排序heapq模塊等相關(guān)資料,感興趣的小伙伴可以參考一下2021-12-12