load()函数概述loadtxt函数用于从文本中加载数据。我们可以用这个方法把数据读入np.array,然后做进一步的数据处理。详情如下:def loadtxt(fname, dtype=float, comments='#'
loadtxt函数用于从文本中加载数据。我们可以用这个方法把数据读入np.array,然后做进一步的数据处理。详情如下:
def loadtxt(fname, dtype=float, comments='#', delimiter=None,converters=None, skiprows=0, usecols=None, unpack=False,ndmin=0, encoding='bytes', max_rows=None):
返回:ndarray
具体参数如下:
Fname要读取的文件、文件名或生成器。
数据类型,默认浮点数。
评论评论。
分隔符分隔符。
Skiprows跳过读取的前几行,默认值为0,必须是int整数。
Usecols:要读取的列,0是第一列。例如,usecols = (1,5)将提取第2列和第6列。默认情况下,读取所有列。
Unpack,如果为真,则单独读取,例如x,y,z = load txt(…)
编码编码格式
Max_rows读取的最大行数
Converters字典类型,用于转换列数据类型,如{0:float}
Ndmin指定生成的数组的维数。
Loadtxt实战下面举个例子说明一下读写csv文件的应用。
创建一个包含以下内容的csv文件:
id,cpu,内存
0.00%,0B / 0B
2,0.00%,577.6兆字节/千兆字节
3.0%,44千克/30.92千克
0.00%,0B / 0B
0.00%,0B / 0B
6.0%,0B / 0B
7,0.00%,0B / 0B
8,0.01%,703.5兆磅/2兆磅
9,0.00%,48千字节/30.92千兆字节
10,0.00%,618.9兆磅/2兆磅
示例1x,y,z=np.array(np.loadtxt('D:/data/log10.csv',dtype=str,delimiter=',',unpack=True,encoding='utf-8',max_rows=5))print(x)print(y)print(z)
输出:
[‘1’‘2’‘3’‘4’‘5’]
[‘0.00%’‘0.00%’‘0.00%’‘0.00%’‘0.00%’]
[‘0B/0B ’‘577.6 MIB/1gb ’’44千克/30.92千克’‘0B/0B ’‘0B/0B ’]
你可以看到:
我们把csv的三列数据分别赋给x,Y,z Y,Z,用unpack=True。
数组中的值是字符串类型,使用dtype=str。
Csv中有10行数据,但数组中保存了5行,因为使用了max_rows=5。
数组中没有输出id、cpu、mem等信息,因为默认的skiprows=0过滤第一行。
使用分隔符= ’,作为csv数据的分隔符’
示例2arr=np.array(np.loadtxt('D:/data/log10.csv',dtype=str,delimiter=',',usecols = (1,2),encoding='utf-8',max_rows=5))print(arr)
输出
[[‘0.00%’‘0B/0B ’]
[‘0.00%’‘577.6 MIB/1gb ’]
[‘0.00%’’44千克/30.92千克’]
[‘0.00%’‘0B/0B ’]
[‘0.00%’‘0B/0B ’]]
你可以看到:
仅显示csv中的第一列和第二列数据,usecols = (1,2)
因为没有使用unpack=True,所以整体作为二维数组输出。