python中np.genfromtxt一个简单例子

来源:互联网 发布:vissim仿真软件 编辑:程序博客网 时间:2024/06/15 08:56

比如我现在有txt文件,如下所示,前面是路径,后面的对应的标签,图像大数据处理的人都知道,需要有一个txt文件,然后根据这个txt文件来读取图像或者制作数据

比如我的txt文件列表是

train1/9381_106_1.tif 1
train1/9381_106_10.tif 1
train1/9381_106_100.tif 1
train1/9381_106_101.tif 1
train1/9381_106_102.tif 1
train1/9381_106_103.tif 1
train1/9381_106_104.tif 1

tif前是对应的路径,1对应的是label,现在我想分别读取路径和label,其中我发现了numpy的一个函数,np.genfromtxt

具体代码如下所示

import numpy as npdef load_file(examples_list_file):    # type: (object) -> object    lines = np.genfromtxt(examples_list_file, delimiter=" ", dtype=[('col1', 'S120'), ('col2', 'i8')])    examples = []    labels = []    for example, label in lines:        examples.append(example)        labels.append(label)    return np.asarray(examples), np.asarray(labels), len(lines)train_file = '/media/hjxu/LENOVO/data/data_examples/256X256/train.txt'examples, labels, examples_num = load_file(train_file)for i in range(examples_num):    print 'No',i,'path',examples[i],'label is',labels[i]

上述代码返回

No 122014 path train2/9436_9_93.tif label is 2
No 122015 path train2/9436_9_94.tif label is 2
No 122016 path train2/9436_9_95.tif label is 2
No 122017 path train2/9436_9_96.tif label is 2
No 122018 path train2/9436_9_97.tif label is 2
No 122019 path train2/9436_9_98.tif label is 2
No 122020 path train2/9436_9_99.tif label is 2

我们可以知道load_file这个函数返回txt文件中的路径,label,以及总共多少例