Python中numpy.loadtxt()读取txt文件的案例-创新互联

这篇文章给大家分享的是有关Python中numpy.loadtxt()读取txt文件的案例的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。

创新互联建站专注于团风企业网站建设,成都响应式网站建设公司,成都做商城网站。团风网站建设公司,为团风等地区提供建站服务。全流程按需求定制开发,专业设计,全程项目跟踪,创新互联建站专业和态度为您提供的服务

读取txt文件我们通常使用 numpy 中的 loadtxt()函数

numpy.loadtxt(fname, dtype=, comments='#', delimiter=None, converters=None, skiprows=0, usecols=None, unpack=False, ndmin=0)

注:loadtxt的功能是读入数据文件,这里的数据文件要求每一行数据的格式相同。

也就是说对于下面这样的数据是不符合条件的:

123

1 2 4 3 5

接下来举例讲解函数的功能:

1、简单的读取

test.txt

1 2 3 4 2 3 4 5 3 4 5 6 4 5 6 7


import numpy as np a = np.loadtxt('test.txt')#最普通的loadtxt print(a)


输出:

[[1. 2. 3. 4.] [2. 3. 4. 5.] [3. 4. 5. 6.] [4. 5. 6. 7.]]


数组中的数都为浮点数,原因为Python默认的数字的数据类型为双精度浮点数

2、skiprows=n:指跳过前n行

test.txt

A B C D 2 3 4 5 3 4 5 6 4 5 6 7


a = np.loadtxt('test.txt', skiprows=1, dtype=int) print(a)


输出:

[[2 3 4 5] [3 4 5 6] [4 5 6 7]]


3、comment=‘#’:如果行的开头为#就会跳过该行

test.txt

A B C D 2 3 4 5 3 4 5 6 #A B C D 4 5 6 7


a = np.loadtxt('test.txt', skiprows=1, dtype=int, comments='#') print(a)


输出:

[[2 3 4 5] [3 4 5 6] [4 5 6 7]]


 4、usecols=[0,2]:是指只使用0,2两列,参数类型为list

a = np.loadtxt('test.txt', skiprows=1, dtype=int, comments='#',usecols=(0, 2), unpack=True) print(a)


输出:

[[2 3 4] [4 5 6]]


unpack是指会把每一列当成一个向量输出, 而不是合并在一起。 如果unpack为false或者参数的话输出结果如下:

[[2 4] [3 5] [4 6]]


test.txt

A, B, C, D 2, 3, 4, 5 3, 4, 5, 6 #A B C D 4, 5, 6, 7


5、delimiter:数据之间的分隔符。如使用逗号","。

6、converters:对数据进行预处理

def add_one(x):    return int(x)+1    #注意到这里使用的字符的数据结构 a = np.loadtxt('test.txt', dtype=int, skiprows=1, converters={0:add_one}, comments='#', delimiter=',', usecols=(0, 2), unpack=True) print a


def add_one(x):    return int(x)+1    #注意到这里使用的字符的数据结构 a = np.loadtxt('test.txt', dtype=int, skiprows=1, converters={0:add_one}, comments='#', delimiter=',', usecols=(0, 2), unpack=True) print a


感谢各位的阅读!关于Python中numpy.loadtxt()读取txt文件的案例就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到吧!

当前题目:Python中numpy.loadtxt()读取txt文件的案例-创新互联
链接分享:https://www.cdcxhl.com/article34/jeose.html

成都网站建设公司_创新互联,为您提供网站排名商城网站网站策划做网站网站导航品牌网站制作

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

微信小程序开发