我有一个包含列的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存储桶的过程,那就更好了
感谢我能得到的任何帮助。 干杯!
答案 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)