Python的numpy模块提供了从文本文件加载数据的功能。 numpy模块提供 loadtxt()功能,可以快速读取简单的文本文件。
numpy.loadtxt(fname, dtype=<type 'float'>, comments='#', delimiter=None, converters=None, skiprows=0, usecols=None, unpack=False, ndmin=0)
这些是numpy.loadtxt()函数中的以下参数:
fname:file,str或pathlib.path
此参数定义要读取的文件,文件名或生成器。首先,如果文件扩展名是 .gz 和 .bz2 ,我们将分解文件。之后,生成器将返回 Python 3k的字节字符串。
dtype:data-type(可选)
此参数定义结果数组的数据类型,默认情况下,该数据类型为浮点型。当结果数组为结构化数据类型时,将为一维数组。每行都被解释为一个数组元素,并且使用的列数必须与数据类型中的字段数相匹配。
comments:str或sequence(可选)
此参数定义用于指示注释开始的字符或字符列表。默认情况下,它将为" #"。
delimiter:str(可选)
此参数定义用于分隔值的字符串。默认情况下,它将是任何空格。
converters:dict(可选)
此参数将字典映射列号定义为将映射列转换为浮点数的函数。如果column()是日期字符串,则 converters = {0:datestr2num} 。此参数还用于提供丢失数据的默认值,例如 converters = {3:lambda s:float(s.strip()或0)} 。
skiprows:int(可选)
此参数用于跳过第一个" skiprows",默认情况下,它将为0。
usecols:整数或序列(可选)
此参数定义要读取的列,第一个为0。
unpack:布尔(可选)
如果将此参数设置为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', '<i4'), ('weight', '<f4')])
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的形式显示。
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)