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.)]
极客教程