python中np.genfromtxt一个简单例子

比如我现在有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 np

def 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,以及总共多少例

你可能感兴趣的:(编程语言,python)