{eval=Array;=+count(Array);}
txt文件是我們比較常見的一種文件,讀取txt文件其實很簡單,下面我介紹3種讀取txt文件的方法,感興趣的可以了解一下,一種是最基本的方法,使用python自帶的open函數(shù)進(jìn)行讀取,一種是結(jié)合numpy進(jìn)行讀取,最后一種是利用pandas進(jìn)行讀取,實驗環(huán)境win7+python3.6+pycharm5.0主要介紹如下:
為了更好的說明問題,我這里新建一個test.txt文件,主要有4行4列數(shù)據(jù),每列之間使用空格分開,截圖如下,將這些數(shù)據(jù)讀取到程序中:
1.方法一:使用最基本的open函數(shù)進(jìn)行讀取,這里我將數(shù)據(jù)讀取到一個列表中,無非就是open打開文件、read讀取文件、close關(guān)閉文件3個步驟,主要代碼如下:
程序運行截圖如下,已經(jīng)成功打印出txt數(shù)據(jù),這里默認(rèn)讀取的都是字符串類型,需要的話,可以進(jìn)行類型轉(zhuǎn)換,int,float都行:
2.方法二:使用numpy包的loadtxt方法(在處理實驗數(shù)據(jù)中經(jīng)常用到),numpy是python的一個科學(xué)庫,至于安裝的話,我這里不再贅述,網(wǎng)上的教程很多,使用loadtxt方法讀取txt文件主要代碼如下(這里要求的數(shù)據(jù)必須是數(shù)字,不能是字母等字符,不然會報錯,因為numpy本身是做計算的,所以讀取的數(shù)據(jù)已經(jīng)轉(zhuǎn)化為數(shù)值類型,非字符串,這種方法在處理實驗數(shù)據(jù)中經(jīng)常會用到,簡單快捷):
程序運行截圖如下,已經(jīng)成功打印出txt數(shù)據(jù),這里返回的是ndarray類型:
3.方法三:使用pandas的read_table方法進(jìn)行讀取,pandas是python的一個數(shù)據(jù)處理的包,功能很強(qiáng)大,提供了許多現(xiàn)成的讀取各種文件的方法,像csv文件的read_csv方法,excel文件的read_excel方法等,主要代碼如下(這里不必要是數(shù)值的數(shù)據(jù)):
程序運行結(jié)果如下,已經(jīng)成功打印出數(shù)據(jù),這里返回的是DataFrame類型:
至此3種方法都已介紹完畢,至于使用哪種方法,視具體環(huán)境而定,也因人而已,哪種方法使用起來順手就用哪種方法,不過后面兩種方法更簡單,快捷一些。這里不足的是,我這里假設(shè)數(shù)據(jù)是結(jié)構(gòu)化的,如果是非結(jié)構(gòu)化,雜亂無章的數(shù)據(jù),那就使用open函數(shù)慢慢讀吧,后面兩種方法都不能直接使用,需將數(shù)據(jù)調(diào)整成一定格式的結(jié)構(gòu)化數(shù)據(jù)才能使用,目前就介紹這3種方法,希望以上分享的內(nèi)容能對你有所幫助吧。
python讀取txt文件三個方法告訴你:
方法一:
#read txt method one
f = open("./image/abc.txt")
line = f.readline()
while line:
print line
line = f.readline()
f.close()
方法二:
#read txt method two
f = open("./image/abc.txt")
for line2 in open("./image/abc.txt"):
print line2
方法三:
#read txt method three
f2 = open("./image/abc.txt","r")
lines = f2.readlines()
for line3 in lines:
print line3
1、如果TXT文件中有兩列,可以設(shè)定數(shù)組,然后分別獲取數(shù)據(jù)
2、上述文件使用的是相對路徑,當(dāng)然也可以使用絕對路徑
使用for in循環(huán)讀取文件,然后直接用write方法寫入就OK了,這種方法是最簡單了,讀取一般的小文件沒什么問題,當(dāng)讀取大文件就會出現(xiàn)一下問題。
0
回答0
回答0
回答0
回答0
回答0
回答2
回答0
回答0
回答0
回答