一步读取法

  • 1、一步到位
  • 2、一步到位的前提
  • 3、一步读取法的好处
  • 4、numpy.loadtxt()方法的“无用”参数有以下这些:


1、一步到位

#numpy库是关于数组操作的模块
import numpy as np 

#np.loadtxt会将文件中数据转换为一个数组
file_reading=np.loadtxt("文件名.txt");

2、一步到位的前提

  • 文件名.txt文件必须在当前jupyter notebook编写的代码所在路径下(在标签页Home下根据文件名可以快速找到你当前编写代码所在路径)
  • 你已经将你的数据列成了相应的数组形式,中间以空格隔开,例如:
  • python numpy读取txt忽略 numpy读取txt文件_大数据

3、一步读取法的好处

  • 文本文件作为一种无格式文本,笔者认为它的好处就是记录简单、读取简单,所以依旧是当下很多计算软件的生成的数据文件常见格式,比如笔者在进行自己专业的计算分析——有限元分析中经常会遇到这种纯文本的数据文件,那么对于它的循环读取就很便利了。
  • 这样读取后得到的就是一个数组
    相信学会数组的童鞋都知道,当数据信息繁杂,尤其是在做学术分析时,经常会考虑各种各样的因素,当要同时考虑它们的影响时,就要用到数组的运算了,那么对于这么多的信息做运算,光用Excel是不是就很难做了呢?那么我们可以把它复制到文本文件中,这样直接保存利用上面的读取方法,我们就可以做数组的运算了。

4、numpy.loadtxt()方法的“无用”参数有以下这些:

python numpy读取txt忽略 numpy读取txt文件_python numpy读取txt忽略_02

以上为默认参数值。

参数

作用

fname

被读取的文件名(文件的相对地址或者绝对地址)

dtype

指定读取后数据的数据类型

comments

跳过文件中指定参数开头的行(即不读取)

delimiter

指定读取文件中数据的分割符

converters

对读取的数据进行预处理

skiprows

选择跳过的行数

usecols

指定需要读取的列

unpack

选择是否将数据进行向量输出

encoding

对读取的文件进行预编码

其中,converters参数比较难理解,举例:

def add_one(x):
    return int(x)+1  # 注意到这里使用的字符的数据结构
#加“.”可以表示读取当前代码所在下的相对路径
(a, b) = np.loadtxt('./data/test2.txt', dtype=int, skiprows=1, converters={0:add_one})
print(a, b)

converters参数是是一个字典,如上面的例子,我们可以先定义一个预处理函数add_one

例子中的converters={0:add_one}, 表示 第 0 列 使用函数add_one来进行预处理。

还有usecols参数,如果取txt中的前4列,则usecols=(0,1,2,3)。如果取第5列这一列,则usecols=(4,)。这种取单一列的情况容易出问题,请大家多注意,例如:usecols = 3读取第四列的方式与usecols = (3,)相同

参考:https://docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.loadtxt.html