python读取txt中的一列称为_Python中numpy.loadtxt()读取txt文件的案例

Python中numpy.loadtxt()读取txt文件的案例

发布时间:2020-11-03 09:43:25

来源:亿速云

阅读:63

作者:小新

这篇文章给大家分享的是有关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.txt1 2 3 4

2 3 4 5

3 4 5 6

4 5 6 7import 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.txtA B C D

2 3 4 5

3 4 5 6

4 5 6 7a = 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.txtA B C D

2 3 4 5

3 4 5 6

#A B C D

4 5 6 7a = 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两列,参数类型为lista = 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.txtA, 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 adef 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文件的案例就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到吧!

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值