📅  最后修改于: 2020-10-27 08:06:56             🧑  作者: Mango
Python的numpy模块提供了从文本文件加载数据的函数。 numpy模块提供loadtxt()函数,可以快速读取简单文本文件。
注意:在文本文件中,每一行必须具有相同数量的值。
numpy.loadtxt(fname, dtype=, comments='#', delimiter=None, converters=None, skiprows=0, usecols=None, unpack=False, ndmin=0)
这些是numpy.loadtxt()函数中的以下参数:
fname:文件,str或pathlib.Path
此参数定义要读取的文件,文件名或生成器。首先,如果文件扩展名是.gz和.bz2,我们将分解文件。之后,生成器将返回Python 3k的字节字符串。
dtype:数据类型(可选)
此参数定义结果数组的数据类型,默认情况下,该数据类型为浮点型。当结果数组为结构化数据类型时,它将为一维数组。每行都被解释为一个数组元素,并且使用的列数必须与数据类型中的字段数相匹配。
注释:str或sequence(可选)
该参数定义了用于指示注释的开始的<字符>或列表。默认情况下,它将是“#”。
分隔符:str(可选)
此参数定义用于分隔值的字符串。默认情况下,它将是任何空格。
转换器:dict(可选)
此参数将字典映射列号定义为将映射列转换为浮点数的函数。当column()是日期字符串,那么converters = {0:datestr2num}。此参数还用于为丢失的数据提供默认值,因为converters = {3:lambda s:float(s.strip()或0)}。
skiprows:int(可选)
此参数用于跳过第一个“ skiprows”,默认情况下,它将为0。
usecols:int或sequence(可选)
此参数定义要读取的列,第一个为0。例如,usecols =(0,3,5)将提取第一,第四和第五列。默认情况下,其值为None,这将导致读取所有列。在新版本中,如果要读取单个列,可以使用整数而不是元组。
解压:布尔(可选)
如果此参数设置为true,则对返回的数组进行转置,以便可以使用x,y,z = loadtxt(…)解压缩参数。将其与结构化数据类型一起使用时,将为每个字段返回数组。默认情况下,它将设置为False。
ndim:int(可选)
返回的数组将具有“ ndmin”维。否则,它将挤压一维轴。合法值:0(默认),1或2。
它以ndarray的形式从文本文件中读取数据。
import numpy as np
from io import StringIO
c = StringIO(u"0 1\n2 3")
c
np.loadtxt(c)
输出:
<_io.StringIO object at 0x000000000A4C3E48>
array([[0., 1.],
[2., 3.]])
在上面的代码中
在输出中,它以ndarray的形式显示文件的内容。
import numpy as np
from io import StringIO
d = StringIO(u"M 21 72\nF 35 58")
np.loadtxt(d, dtype={'names': ('gender', 'age', 'weight'),'formats': ('S1', 'i4', 'f4')})
输出:
array([('M', 21, 72.), ('F', 35, 58.)], dtype=[('gender', 'S1'), ('age', '
import numpy as np
from io import StringIO
c = StringIO(u"1,3,2\n3,5,4")
x, y = np.loadtxt(c, delimiter=',', usecols=(0, 2), unpack=True)
x
y
输出:
array([1., 3.])
array([2., 4.])
在上面的代码中
在输出中,它显示文件的内容已经以ndarray的形式显示。