python讀取.data文件的實(shí)現(xiàn)
.data文件格式
.data文件是用來存儲(chǔ)數(shù)據(jù)的一種文件格式。之前通常數(shù)據(jù)是用逗號(hào)隔開或tab健隔開的格式,現(xiàn)在也可能是文本文件格式或二進(jìn)制文件格式。
識(shí)別.data文件里面的數(shù)據(jù)
1、先測(cè)試一下文件是文本文件還是二進(jìn)制文件
用網(wǎng)上可以下載到的iris.data文件來舉例(iris.data文件下載地址:https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data),代碼如下:
# 通過python自帶的文件讀取文本文件 file=open('iris.data','r') data=file.read() print(data) file.close()
運(yùn)行之后,可以看到結(jié)果(此處放部分?jǐn)?shù)據(jù)結(jié)果):
根據(jù)打印出來的數(shù)據(jù)結(jié)果,可以分析出來,iris.data存的是文本數(shù)據(jù),并且是用逗號(hào)分隔的,也可以認(rèn)為是csv文件格式。
如果打印出來的數(shù)據(jù)結(jié)果不是文本類型的話,可以測(cè)試一下是不是二進(jìn)制文件,代碼如下:
# 通過python自帶的文件讀取二進(jìn)制文件 file=open('iris.data','rb') data=file.read() print(data) file.close()
2、用Pandas讀取.data文件
方法如下:
用read_csv()方法讀取文件,這個(gè)方法會(huì)自動(dòng)創(chuàng)建一個(gè)dataframe,將數(shù)據(jù)轉(zhuǎn)換進(jìn)去,代碼如下:
# 使用Pandas讀取數(shù)據(jù) import pandas as pd data=pd.read_csv('iris.data',header=None,sep=',') print(data)
注意:在第一步里面查看文件內(nèi)容的時(shí)候,發(fā)現(xiàn)iris.data文件里面沒有表頭,iris.data的表頭是在iris.names文件里面進(jìn)行說明的(附上iris.names文件下載地址:https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.names),所以在read_csv函數(shù)調(diào)用的時(shí)候,需要加上header=None,否則data里面的第一行就會(huì)自動(dòng)變成表頭,這樣的話150行數(shù)據(jù)就變成149行。
運(yùn)行之后,顯示結(jié)果如下:
3、其他數(shù)據(jù)存儲(chǔ)類型
除了上述提到的文件格式外,還有json格式和pickle。
在讀取的時(shí)候,需要import json和import pickle后,調(diào)用json.dumps()方法和pickle.dump()方法進(jìn)行讀取。
參考資料
https://www.askpython.com/python/examples/read-data-files-in-python
到此這篇關(guān)于python讀取.data文件的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)python讀取.data文件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python數(shù)據(jù)結(jié)構(gòu)與算法中的棧詳解
這篇文章主要為大家詳細(xì)介紹了Python數(shù)據(jù)結(jié)構(gòu)與算法中的棧,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2022-03-03python中的scapy抓取http報(bào)文內(nèi)容
這篇文章主要介紹了python中的scapy抓取http報(bào)文內(nèi)容方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-08-08Python?OpenCV超詳細(xì)講解透視變換的實(shí)現(xiàn)
OpenCV用C++語言編寫,它具有C?++,Python,Java和MATLAB接口,并支持Windows,Linux,Android和Mac?OS,OpenCV主要傾向于實(shí)時(shí)視覺應(yīng)用,并在可用時(shí)利用MMX和SSE指令,本篇文章帶你通過OpenCV實(shí)現(xiàn)透視變換2022-04-04python實(shí)現(xiàn)simhash算法實(shí)例
這篇文章主要介紹了python實(shí)現(xiàn)simhash算法實(shí)例,需要的朋友可以參考下2014-04-04使用Python的內(nèi)建模塊collections的教程
這篇文章主要介紹了使用Python的內(nèi)建模塊collections的教程,示例代碼基于Python2.x版本,需要的朋友可以參考下2015-04-04