網(wǎng)站首頁(yè) 編程語(yǔ)言 正文
前言
當(dāng)我們?cè)谟胮ython時(shí)可能會(huì)遇到想要把txt文檔里的數(shù)據(jù)讀取出來(lái)然后進(jìn)行繪圖,那么我們要怎么才能夠?qū)xt里的數(shù)據(jù)讀取出來(lái)呢?
假設(shè)有txt文本如下:
想要把上述文本數(shù)據(jù)讀取出來(lái),可以用以下方法:?
方法一:運(yùn)用open()函數(shù)
該方法使用最基本的open函數(shù)進(jìn)行讀取,此處將會(huì)把數(shù)據(jù)讀取到一個(gè)列表中,這個(gè)方法一般就是open打開(kāi)文件、read讀取文件、close關(guān)閉文件3個(gè)步驟,主要代碼如下:
def openreadtxt(file_name): data = [] file = open(file_name,'r') #打開(kāi)文件 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é)庫(kù),至于安裝教程參考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)境
步驟一:打開(kāi)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é)
原文鏈接:https://blog.csdn.net/ggj0727/article/details/120605935
相關(guān)推薦
- 2022-10-01 Python+OpenCV實(shí)現(xiàn)表面缺陷檢測(cè)_python
- 2022-06-07 FreeRTOS操作系統(tǒng)的配置示例解析_操作系統(tǒng)
- 2022-03-28 Python?PCA降維的兩種實(shí)現(xiàn)方法_python
- 2022-05-21 Python內(nèi)置數(shù)據(jù)類型中的集合詳解_python
- 2022-01-13 Vite2+TS+el3獲取DOM元素設(shè)置類型并進(jìn)行表單校驗(yàn)
- 2022-04-01 ctr鏡像導(dǎo)入報(bào)錯(cuò)ctr: content digest sha256:xxxxxx not fou
- 2022-12-02 深入理解Golang?make和new的區(qū)別及實(shí)現(xiàn)原理_Golang
- 2022-03-10 .NET6一些常用組件的配置及使用_基礎(chǔ)應(yīng)用
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲(chǔ)小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過(guò)濾器
- Spring Security概述快速入門(mén)
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡(jiǎn)單動(dòng)態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對(duì)象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支