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

yipeiwu_com6年前Python基础

实际中,很多数据都是存为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微信好友数据分析详解

基于微信开放的个人号接口python库itchat,实现对微信好友的获取,并对省份、性别、微信签名做数据分析。 效果: 直接上代码,建三个空文本文件stopwords.txt,ne...

浅谈numpy生成数组的零值问题

今天在用numpy写sinc函数时偶然发现在x=0时函数居然能取到1,觉得很不可思议,按理来说在x=0时函数无意义,研究了一下,发现竟然时numpy在生成数组时自动用一个很小的数代替了0...

python使用turtle库绘制时钟

python使用turtle库绘制时钟

Python函数库众多,而且在不断更新,所以学习这些函数库最有效的方法,就是阅读Python官方文档。同时借助Google和百度。 本文介绍的turtle库对应的官方文档地址 绘制动态钟...

Python基于time模块求程序运行时间的方法

Python基于time模块求程序运行时间的方法

本文实例讲述了Python基于time模块求程序运行时间的方法。分享给大家供大家参考,具体如下: 要记录程序的运行时间可以利用Unix系统中,1970.1.1到现在的时间的毫秒数,这个时...

NumPy 数学函数及代数运算的实现代码

一、实验介绍 1.1 实验内容 如果你使用 Python 语言进行科学计算,那么一定会接触到NumPy。NumPy 是支持 Python 语言的数值计算扩充库,其拥有强大的多维数组处...