使用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 requests


def 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 + url
    pic = 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.values

for 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)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值