从url下载图像并从csv文件中为其指定id

时间:2018-02-23 17:28:53

标签: python image download google-cloud-platform google-cloud-storage

我有一个包含列的csv文件:image_id,image_url

我需要从URL下载所有图像并将其保存为相应的image_id作为名称。有办法吗?

我知道你可以使用我在网上看过的代码中的python这样做

import cStringIO # *much* faster than StringIO
import urllib
import Image

try:
    file = 
urllib.urlopen('http://freegee.sourceforge.net/FG_EN/src/teasers_en/t_gee-power_en.gif')
    im = cStringIO.StringIO(file.read()) # constructs a StringIO holding the image
    img = Image.open(im)
    img.save('/home/wenbert/uploaderx_files/test.gif')
except IOError, e:
    raise e

但是如何从csv引用url和文件名 如果我可以自动化上传到GCP存储桶的过程,那就更好了

感谢我能得到的任何帮助。 干杯!

2 个答案:

答案 0 :(得分:0)

这应该有所帮助。使用 csv module 来解析您的CSV文件。

<强>实施例

# -*- coding: utf-8 -*-

import csv
import cStringIO # *much* faster than StringIO
import urllib
import Image

def downloadFile(imageID, url):
    try:
        file = urllib.urlopen(url)
        im = cStringIO.StringIO(file.read())  # constructs a StringIO holding the image
        img = Image.open(im)
        img.save('/home/wenbert/uploaderx_files/{0}.gif'.format(imageID))
    except IOError, e:
        raise e

with open('PATH_TO_.csv', 'rb') as csvfile:
    reader = csv.reader(csvfile, delimiter=',')
    next(reader, None)  # skip the headers
    for row in reader:
        print row
        downloadFile(row[0], row[1])

答案 1 :(得分:-1)

我在下面制作了一个python脚本。我只在python 3.4.3中测试了这个,但是应该这样做。

希望这会有所帮助。

import numpy as np
from sklearn.metrics import precision_recall_fscore_support
y_true = np.array(['0', '1', '1', '0', '1'])
y_pred = np.array(['1', '0', '1', '0', '1'])
out = precision_recall_fscore_support(y_true, y_pred, average='weighted', pos_label = 0) 
相关问题