這篇文章給大家分享的是有關Python中numpy.loadtxt()讀取txt文件的案例的內容。小編覺得挺實用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。
創(chuàng)新互聯(lián)建站專注于團風企業(yè)網(wǎng)站建設,成都響應式網(wǎng)站建設公司,成都做商城網(wǎng)站。團風網(wǎng)站建設公司,為團風等地區(qū)提供建站服務。全流程按需求定制開發(fā),專業(yè)設計,全程項目跟蹤,創(chuàng)新互聯(lián)建站專業(yè)和態(tài)度為您提供的服務讀取txt文件我們通常使用 numpy 中的 loadtxt()函數(shù)
numpy.loadtxt(fname, dtype=, comments='#', delimiter=None, converters=None, skiprows=0, usecols=None, unpack=False, ndmin=0)
注:loadtxt的功能是讀入數(shù)據(jù)文件,這里的數(shù)據(jù)文件要求每一行數(shù)據(jù)的格式相同。
也就是說對于下面這樣的數(shù)據(jù)是不符合條件的:
123
1 2 4 3 5
接下來舉例講解函數(shù)的功能:
1、簡單的讀取
test.txt
1 2 3 4 2 3 4 5 3 4 5 6 4 5 6 7
import numpy as np a = np.loadtxt('test.txt')#最普通的loadtxt print(a)
輸出:
[[1. 2. 3. 4.] [2. 3. 4. 5.] [3. 4. 5. 6.] [4. 5. 6. 7.]]
數(shù)組中的數(shù)都為浮點數(shù),原因為Python默認的數(shù)字的數(shù)據(jù)類型為雙精度浮點數(shù)
2、skiprows=n:指跳過前n行
test.txt
A B C D 2 3 4 5 3 4 5 6 4 5 6 7
a = np.loadtxt('test.txt', skiprows=1, dtype=int) print(a)
輸出:
[[2 3 4 5] [3 4 5 6] [4 5 6 7]]
3、comment=‘#’:如果行的開頭為#就會跳過該行
test.txt
A B C D 2 3 4 5 3 4 5 6 #A B C D 4 5 6 7
a = np.loadtxt('test.txt', skiprows=1, dtype=int, comments='#') print(a)
輸出:
[[2 3 4 5] [3 4 5 6] [4 5 6 7]]
4、usecols=[0,2]:是指只使用0,2兩列,參數(shù)類型為list
a = np.loadtxt('test.txt', skiprows=1, dtype=int, comments='#',usecols=(0, 2), unpack=True) print(a)
輸出:
[[2 3 4] [4 5 6]]
unpack是指會把每一列當成一個向量輸出, 而不是合并在一起。 如果unpack為false或者參數(shù)的話輸出結果如下:
[[2 4] [3 5] [4 6]]
test.txt
A, B, C, D 2, 3, 4, 5 3, 4, 5, 6 #A B C D 4, 5, 6, 7
5、delimiter:數(shù)據(jù)之間的分隔符。如使用逗號","。
6、converters:對數(shù)據(jù)進行預處理
def add_one(x): return int(x)+1 #注意到這里使用的字符的數(shù)據(jù)結構 a = np.loadtxt('test.txt', dtype=int, skiprows=1, converters={0:add_one}, comments='#', delimiter=',', usecols=(0, 2), unpack=True) print a
def add_one(x): return int(x)+1 #注意到這里使用的字符的數(shù)據(jù)結構 a = np.loadtxt('test.txt', dtype=int, skiprows=1, converters={0:add_one}, comments='#', delimiter=',', usecols=(0, 2), unpack=True) print a
感謝各位的閱讀!關于Python中numpy.loadtxt()讀取txt文件的案例就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!