编程学习网 > 编程语言 > Python > python将txt等文件中的数据读为numpy数组的方法
2021
07-12

python将txt等文件中的数据读为numpy数组的方法


今天小编就为大家分享一篇python将txt等文件中的数据读为numpy数组的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧


实际中,很多数据都是存为txt文件、csv文件等,但是在程序中处理的时候numpy数组或列表是最方便的。本文简单介绍读入txt文件以及将之转化为numpy数组或列表的方法。

1 将txt文件读为list并转化为numpy数组

importnumpy as np
  
file=open('filename.txt')
val_list=file.readlines()
lists=[]
forstringinval_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"
printstr.strip('0')


输出为:


111aaabbb111


以上这篇python将txt等文件中的数据读为numpy数组的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,想学习更多Python教程请持续关注编程学习网。


扫码二维码 获取免费视频学习资料

Python编程学习

查 看2022高级编程视频教程免费获取