python将txt等文件中的数据读为numpy数组的方法
Python  /  管理员 发布于 7年前   432
实际中,很多数据都是存为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数组的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号