python將txt等文件中的數據讀爲numpy數組的方法

今天小編就爲大家分享一篇python將txt等文件中的數據讀爲numpy數組的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
實際中,很多數據都是存爲txt文件、csv文件等,但是在程序中處理的時候numpy數組或列表是最方便的。本文簡單介紹讀入txt文件以及將之轉化爲numpy數組或列表的方法。

1 將txt文件讀爲list並轉化爲numpy數組

import numpy as np
  
file = open('filename.txt')
val_list = file.readlines() 
lists =[]
for string in val_list:
 string = string.split('\t',3)
lists.append(string[0:2]) #只取每個string的前兩項,得到的lists即爲所要的列表
a = np.array(lists) #將列表轉化爲numpy數組,
a= a.astype(int) #並設定類型爲intfile.close()

這種方法雖然代碼長一點,但是可以允許你的txt文件中每一個line中既包含數字項又包含字母項等,如果你的txt文件的每一個line中的每一項都是數字,則有一個更簡單的方法:

a = numpy.loadtxt('filename.txt')

這樣直接得到一個全爲數字的numpy數組。

2 split等方法的簡介

split函數通過指定分隔符對字符串進行分隔,如果參數num有值,則表示將字符串分隔爲num個字符串。語法格式:string.split(str = " " , num = x ),str爲分隔符,默認是所有的空字符,如空格、換行、製表符等。num爲子字符串個數。返回值爲分隔後的字符串列表。實列如上文中:

string = string.split('\t',3)

表示以\t爲分隔符,分成3個字符串。除了常用的split,還有一個常用的功能相關的函數strip(),它用於移除字符串頭尾指定的字符。它的語法格式:string.strip([char]),char爲

要移除的指定的字符,默認爲空格。返回值爲移除後的新字符串。實列如下:

str = "000111aaabbb111000"
print str.strip('0')

輸出爲:

111aaabbb111

以上這篇python將txt等文件中的數據讀爲numpy數組的方法就是小編分享給大家的全部內容了
寫到這裏,給大家推薦一個資源很全的python學習聚集地,點擊進入,這裏有資深程序員分享以前學習

心得,學習筆記,還有一線企業的工作經驗,且給大家精心整理一份python零基礎到項目實戰的資料,

每天給大家講解python最新的技術,前景,學習需要留言的小細節

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章