Python中的numpy.loadtxt()
Python中的numpy.load()用于从文本文件中加载数据,目的是成为一个简单文本文件的快速阅读器。
请注意,文本文件中的每一行都必须有相同数量的值。
语法:
numpy.loadtxt(fname, dtype=’float’, comments=’#’, delimiter=None, converters=None, skiprows=0, usecols=None, unpack=False, ndmin=0)
参数:
fname :文件,文件名,或要读取的生成器。如果文件名的扩展名是.gz或.bz2,文件首先被解压缩。注意,对于Python 3k,生成器应该返回字节字符串。
dtype :产生的数组的数据类型;默认:float。如果这是一个结构化的数据类型,产生的数组将是一维的,每一行将被解释为数组的一个元素。
delimiter:用于分隔数值的字符串。默认情况下,它是任何空白。
converters :一个字典,将列号映射到一个函数,将该列转换为浮点数。例如,如果第0列是一个日期字符串:converters = {0: datestr2num}。默认值。无。
skiprows : 跳过第一个skiprows行;默认:0。
返回值: ndarray
代码 #1:
# Python program explaining
# loadtxt() function
import numpy as geek
# StringIO behaves like a file object
from io import StringIO
c = StringIO("0 1 2 \n3 4 5")
d = geek.loadtxt(c)
print(d)
输出 :
[[ 0. 1. 2.]
[ 3. 4. 5.]]
代码 #2:
# Python program explaining
# loadtxt() function
import numpy as geek
# StringIO behaves like a file object
from io import StringIO
c = StringIO("1, 2, 3\n4, 5, 6")
x, y, z = geek.loadtxt(c, delimiter =', ', usecols =(0, 1, 2),
unpack = True)
print("x is: ", x)
print("y is: ", y)
print("z is: ", z)
输出 :
x is: [ 1. 4.]
y is: [ 2. 5.]
z is: [ 3. 6.]
代码 #3:
# Python program explaining
# loadtxt() function
import numpy as geek
# StringIO behaves like a file object
from io import StringIO
d = StringIO("M 21 72\nF 35 58")
e = geek.loadtxt(d, dtype ={'names': ('gender', 'age', 'weight'),
'formats': ('S1', 'i4', 'f4')})
print(e)
输出 :
[(b'M', 21, 72.) (b'F', 35, 58.)]