知行编程网知行编程网  2022-08-18 15:00 知行编程网 隐藏边栏  176 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于详解Python中numpy.loadtxt()读取txt文件的相关知识,包括numpy读取速度,以及python读取本地文件这些编程知识,希望对大家有参考作用。

为了方便使用和记忆,有时我们会将 numpy.loadtxt() 简称为 np.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

<p><span>1 2 3 4 
2 3 4 5
3 4 5 6
4 5 6 7<br/></span></p>
<p><span>import numpy as np
a = np.loadtxt('test.txt')#最普通的loadtxt
print(a)<br/></span></p>



输出:

<p><span>[[1. 2. 3. 4.]
 [2. 3. 4. 5.]
 [3. 4. 5. 6.]
 [4. 5. 6. 7.]]<br/></span></p>


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

双精度浮点数



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



test.txt

<p><span>A B C D
2 3 4 5
3 4 5 6
4 5 6 7<br/></span></p>
<p><span>a = np.loadtxt('test.txt', skiprows=1, dtype=int)
print(a)<br/></span></p>



输出:

<p><span>[[2 3 4 5]
 [3 4 5 6]
 [4 5 6 7]]<br/></span></p>



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



test.txt

<p><span>A B C D
2 3 4 5
3 4 5 6
#A B C D
4 5 6 7<br/></span></p>
<p><span>a = np.loadtxt('test.txt', skiprows=1, dtype=int, comments='#')
print(a)<br/></span></p>



输出:

<p><span>[[2 3 4 5]
 [3 4 5 6]
 [4 5 6 7]]<br/></span></p>



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

<p><span>a = np.loadtxt('test.txt', skiprows=1, dtype=int, comments='#',usecols=(0, 2), unpack=True)
print(a)<br/></span></p>



输出:

<p><span>[[2 3 4]
 [4 5 6]]<br/></span></p>

解包意味着每一列都作为向量输出,而不是合并在一起。如果 unpack 为 false 或参数,则输出如下:

<p><span>[[2 4]
 [3 5]
 [4 6]]<br/></span></p>



test.txt

<p><span>A, B, C, D
2, 3, 4, 5
3, 4, 5, 6
#A B C D
4, 5, 6, 7<br/></span></p>



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



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

<p><span>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<br/></span></p>
<p><span>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<br/></span></p>


以上就是numpy.loadtxt() 读取txt文件的几种方法。更多Python学习推荐:





(推荐操作系统:windows7系统、Python 3.9.1,DELL G3电脑。)

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享