本文主要是介绍使用python从excel读取图片链接并导入阿里云oss,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
首先需要有python环境,然后需要安装pandas,xlrd,oss2, 使用pip也可,我是安装的anaconda,所以使用的conda安装。
由于是远程文件,所以需要使用流式上传
https://help.aliyun.com/document_detail/88426.html?spm=a2c4g.11174283.6.829.1c907da2q1NI0J
import oss2
import requestsdef uploadUrl(url, host):# 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录 https://ram.console.aliyun.com 创建RAM账号。auth = oss2.Auth('key', 'secret')# Endpoint以杭州为例,其它Region请按实际情况填写。bucket = oss2.Bucket(auth, 'http://oss-cn-beijing.aliyuncs.com', 'bucket')# requests.get返回的是一个可迭代对象(Iterable),此时Python SDK会通过Chunked Encoding方式上传。onlineUrl = host + urlpic = requests.get(onlineUrl)print(onlineUrl + '\n')bucket.put_object(url, pic.content)
import pandas as pd
from oss import uploadUrl#这个会直接默认读取到这个Excel的第一个表单
df = pd.read_excel('pic.xlsx')
#读所有行的第6列的值,下标从0开始
data = df.iloc[:,5]
urls=data.valuesfor url in urls:uploadUrl(url, 'https://www.xxx.com/upload/')#print(url + '\n')
直接上传本地图片
import oss2
import os# 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录 https://ram.console.aliyun.com 创建RAM账号。
auth = oss2.Auth('keyid', 'keysecret')
# Endpoint以杭州为例,其它Region请按实际情况填写。
bucket = oss2.Bucket(auth, 'http://oss-cn-beijing.aliyuncs.com', 'bucketname')path='User2'
dirs=os.listdir(path)
# 必须以二进制的方式打开文件,因为需要知道文件包含的字节数。
for fileobj in dirs:print(fileobj)bucket.put_object_from_file('avatar/' + fileobj, 'User2/' + fileobj)
这篇关于使用python从excel读取图片链接并导入阿里云oss的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!