python将txt等⽂件中的数据读为numpy数组的⽅法
实际中,很多数据都是存为txt⽂件、csv⽂件等,但是在程序中处理的时候numpy数组或列表是最⽅便的。本⽂简单介绍读⼊txt⽂件以及将之转化为numpy数组或列表的⽅法。
1 将txt⽂件读为list并转化为numpy数组
import numpy as np
file = open('')
val_list = adlines()
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中的每⼀项都是数字,则有⼀个更简单的⽅法:python怎么读csv数据
a = numpy.loadtxt('')
这样直接得到⼀个全为数字的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数组的⽅法就是⼩编分享给⼤家的全部内容了,希望能给⼤家⼀个参考,也希望⼤家多多⽀持。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。