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数组的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • Python Numpy计算各类距离的方法

    详细: 1.闵可夫斯基距离(Minkowski Distance) 2.欧氏距离(Euclidean Distance) 3.曼哈顿距离(Manhattan Distance) 4.切比雪夫距离(Chebyshev Distance) 5.夹角余弦(Cosine) 6.汉明距离(Hamming distance) 7.杰卡德相似系数(Jaccard similarity coefficient) 8.贝叶斯公式 1.闵氏距离的定义: 两个n维变量A(x11,x12,-,x1n)与 B(x21,x

  • Python numpy中矩阵的基本用法汇总

    Python矩阵的基本用法 mat()函数将目标数据的类型转化成矩阵(matrix) 1,mat()函数和array()函数的区别 Numpy函数库中存在两种不同的数据类型(矩阵matrix和数组array),都可以用于处理行列表示的数字元素,虽然他们看起来很相似,但是在这两个数据类型上执行相同的数学运算可能得到不同的结果,其中Numpy函数库中的matrix与MATLAB中matrices等价. 直接看一个例子: import numpy as np a = np.mat('1 3;5 7')

  • python使用numpy读取、保存txt数据的实例

    1.首先生成array数组 import numpy as np a = np.random.rand(5,5) print(a) 结果: array([[0.17374613, 0.87715267, 0.93111376, 0.53415215, 0.59667207], [0.6865835 , 0.15873242, 0.2842251 , 0.73840834, 0.37163279], [0.06556834, 0.68446787, 0.91136611, 0.82796704,

  • Python整数与Numpy数据溢出问题解决

    某位 A 同学发了我一张截图,问为何结果中出现了负数? 看了图,我第一感觉就是数据溢出了.数据超出能表示的最大值,就会出现奇奇怪怪的结果. 然后,他继续发了张图,内容是 print(100000*208378),就是直接打印上图的 E[0]*G[0],结果是 20837800000,这是个正确的结果. 所以新的问题是:如果说上图的数据溢出了,为何直接相乘的数却没有溢出? 由于我一直忽视数据的表示规则(整型的上限是多少?),而且对 Numpy 了解不多,还错看了图中结果,误以为每一个数据都是错误的

  • Python数据处理numpy.median的实例讲解

    numpy模块下的median作用为: 计算沿指定轴的中位数 返回数组元素的中位数 其函数接口为: median(a, axis=None, out=None, overwrite_input=False, keepdims=False) 其中各参数为: a:输入的数组: axis:计算哪个轴上的中位数,比如输入是二维数组,那么axis=0对应行,axis=1对应列: out:用于放置求取中位数后的数组. 它必须具有与预期输出相同的形状和缓冲区长度: overwrite_input:一个bool

  • Python使用numpy产生正态分布随机数的向量或矩阵操作示例

    本文实例讲述了Python使用numpy产生正态分布随机数的向量或矩阵操作.分享给大家供大家参考,具体如下: 简单来说,正态分布(Normal distribution)又名高斯分布(Gaussian distribution),是一个在数学.物理及工程等领域都非常重要的概率分布,在统计学的许多方面有着重大的影响力.一般的正态分布可以通过标准正态分布配合数学期望向量和协方差矩阵得到.如下代码,可以得到满足一维和二维正态分布的样本. 示例1(一维正态分布): # coding=utf-8 '''

  • python 借助numpy保存数据为csv格式的实现方法

    借助numpy可以把数组或者矩阵保存为csv文件,也可以吧csv文件整体读取为一个数组或矩阵. 1.csv ==> matrix import numpy my_matrix = numpy.loadtxt(open("D:\\test.csv","rb"), delimiter=",", skiprows=0) 2.matrix ==> csv import numpy numpy.savetxt("new.csv&quo

  • 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

  • python 在某.py文件中调用其他.py内的函数的方法

    假设名为A.py的文件需要调用B.py文件内的C(x,y)函数 假如在同一目录下,则只需 import B if __name__ == "__main__": B.C(x,y) 若只需调用单个函数,也可以 from B import C if __name__ == "__main__": C(x,y) 若A.py和B.py位于不同的目录下,可以用以下方法 (假设B.py位于D盘的根目录下) 1.引用所在路径 import sys sys.path.append(

  • 使用python对多个txt文件中的数据进行筛选的方法

    一.问题描述 筛选出多个txt文件中需要的数据 二.数据准备 这是我自己建立的要处理的文件,里面是随意写的一些数字和字母 三.程序编写 import os def eachFile(filepath): pathDir =os.listdir(filepath) #遍历文件夹中的text return pathDir def readfile(name): fopen=open(name,'r') for lines in fopen.readlines(): #按行读取text中的内容 lin

  • Python实现读取txt文件中的数据并绘制出图形操作示例

    本文实例讲述了Python实现读取txt文件中的数据并绘制出图形操作.分享给大家供大家参考,具体如下: 下面的是某一文本文件中的数据. 6.1101,17.592 5.5277,9.1302 8.5186,13.662 7.0032,11.854 5.8598,6.8233 8.3829,11.886 7.4764,4.3483 8.5781,12 6.4862,6.5987 5.0546,3.8166 5.7107,3.2522 14.164,15.505 5.734,3.1551 8.408

  • Python从文件中读取数据的方法步骤

    一.读取整个文件内容 在读取文件之前,我们先创建一个文本文件resource.txt作为源文件. resource.txt my name is joker, I am 18 years old, How about you? 如何读取文件全部内容,我们编写到reader.py文件中. reader.py with open('resource.txt') as file_obj: content = file_obj.read() print(content) 需要注意的是需要将resourc

  • 如何用python清洗文件中的数据

    目录 使用filter 清洗数据同时记录订单号并排序 简单版 直接打开日志文件,往另外一个文件中按照要过滤的要求进行过滤 import io; with open('a.txt', 'w') as f: for line in open('c:/201509.txt'): if line.find('更改项目')>0 and line.find('500')>0: f.write(line+"\n"); print("输出完成"); 注意.find返回的

  • Python解析Excle文件中的数据方法

    在公司里面,人力资源部每到发工资的时候就会头疼,如果公司内部有100多号员工,那么发完工资后需要给员工发送工资条的话,那么就需要截图如下图, 但是在公司的薪水保密协议不允许公开所有人的薪水,因此我们需要一个一个的发,现在我们给张三发一下薪资条 如果我们给1000人发的话,我们每个人都截图两次,面上的标题和线面的数据两栏,那么这个工程是比较大的.这个工作是循环的,死板的,那么我们就需要使用程序来解决这个问题. #coding=utf-8 import xlrd data = xlrd.open_w

  • Java读取txt文件中的数据赋给String变量方法

    实例如下所示: public class MainActivity { private static final String fileName = "D:/Tao/MyEclipseWorkspace/resources/weather.txt"; public static void main(String[] args) { //读取文件 BufferedReader br = null; StringBuffer sb = null; try { br = new Buffer

  • python实现从文件中读取数据并绘制成 x y 轴图形的方法

    如下所示: import matplotlib.pyplot as plt import numpy as np def readfile(filename): dataList = [] dataNum = 0 with open(filename,'r') as f: for line in f.readlines(): linestr = line.strip('\n') if len(linestr) < 8 and len(linestr) >1: dataList.append(f

  • Python从csv文件中读取数据及提取数据的方法

    目录 1.从csv文件中读取数据 2.数据切割 数据保存在csv文件中 1.从csv文件中读取数据 参数header=None的有无 (1)没有header=None--直接将csv表中的第一行当作表头 # 读取数据 import pandas as pd data = pd.read_csv("data1.csv") print(data) 打印结果为: (2)有header=None--自动添加第一行当作表头 # 读取数据 import pandas as pd data = pd

随机推荐