• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

详解Python中numpy.loadtxt()读取txt文件

python 搞java代码 3年前 (2022-05-21) 13次浏览 已收录 0个评论

为了方便使用和记忆,有时候我们会把 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 style="line-height: 1.75em"><span>1 2 3 4 
2 3 4 5
3 4 5 6
4 5 6 7<br></span></p>

www#gaodaima.com来源gao($daima.com搞@代@#码(网搞代码

<p style="line-height: 1.75em"><span>import numpy as np
a = np.loadtxt('test.txt')#最普通的loadtxt
print(a)<br></span></p>


输出:


<p style="line-height: 1.75em"><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 style="line-height: 1.75em"><span>A B C D
2 3 4 5
3 4 5 6
4 5 6 7<br></span></p>
<p style="line-height: 1.75em"><span>a = np.loadtxt('test.txt', skiprows=1, dtype=int)
print(a)<br></span></p>


输出:


<p style="line-height: 1.75em"><span>[[2 3 4 5]
 [3 4 5 6]
 [4 5 6 7]]<br></span></p>


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

test.txt


<p style="line-height: 1.75em"><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 style="line-height: 1.75em"><span>a = np.loadtxt('test.txt', skiprows=1, dtype=int, comments='#')
print(a)<br></span></p>


输出:


<p style="line-height: 1.75em"><span>[[2 3 4 5]
 [3 4 5 6]
 [4 5 6 7]]<br></span></p>

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


<p style="line-height: 1.75em"><span>a = np.loadtxt('test.txt', skiprows=1, dtype=int, comments='#',usecols=(0, 2), unpack=True)
print(a)<br></span></p>


输出: 


<p style="line-height: 1.75em"><span>[[2 3 4]
 [4 5 6]]<br></span></p>

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

<p style="line-height: 1.75em"><span>[[2 4]
 [3 5]
 [4 6]]<br></span></p>

test.txt


<p style="line-height: 1.75em"><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 style="line-height: 1.75em"><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 style="line-height: 1.75em"><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学习推荐:云海天Python教程网

来源:搞代码网:原文地址:https://www.gaodaima.com


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:详解Python中numpy.loadtxt()读取txt文件
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址