Python Excel 导出 (OSS上传+本地文件保存)

python excle 导出,可用PHP等语言做数据处理,对接python api,上传excel表格或本地保存

 python 需用 3 版本 , 安装python 扩展请看头部注释

# !/usr/bin/python
# author:jxCola
# yum install python-devel
# python3 -m pip install --upgrade --force pip
# pip3 install setuptools==33.1.1
# pip3 install openpyxl
# pip3 install python-multipart
# pip3 install fastapi
# pip3 install uvicorn[standard]
# pip3 install oss2
from openpyxl import Workbook
from openpyxl.styles import colors, Font
from fastapi import FastAPI,Form
import json
import oss2
import os
import openpyxl
app = FastAPI()
path = "D:\\"
ossConfig = {
 'KEY_ID':'',
 'KEY_SECRET'  : '',
 'END_POINT' : '',
 'BUCKET' : '',
 'UPLOAD_HOST' : "",
 "PATH" : ""
}
@app.post('/excelOut')
def out(title: str = Form(...),body: str = Form(...),name: str = Form(...),oss: int = Form(...)):
#        名字
       savePath = "%s%s.xlsx"%(path,name)
       existsFile = os.path.exists(savePath)
#        未有文件创建
       if existsFile == False:
           wb = Workbook()
       else:
#        读入文件(打开文件接着写入)
           wb = openpyxl.load_workbook(savePath)
#        激活
       ws = wb.active
#        首页名字
       ws.title = name
       excelTitle = json.loads(title)
       excelBody = json.loads(body)
#        加载名字(只有一开始才加)
       if existsFile == False:
           ws.row_dimensions[1].width = 60
           ws.append(excelTitle)
       for excel_body in excelBody:
           ws.append(excel_body)
#        保存
       wb.save(savePath)
#        非oss
       if oss == 0:
           msg = "excel save success!"
           resPath = savePath
       else:
#        oss 上传
           auth = oss2.Auth(ossConfig["KEY_ID"], ossConfig["KEY_SECRET"])
           bucket = oss2.Bucket(auth, ossConfig["END_POINT"], ossConfig["BUCKET"])
           bucketPath = "%s/%s.xlsx"%(ossConfig["PATH"],name)
           with open(savePath, 'rb') as fileobj:
                fileobj.seek(0, os.SEEK_SET)
                current = fileobj.tell()
                bucket.put_object(bucketPath, fileobj)
           msg = "excel save success,oss success!"
           ossPath = "%s/%s"%(ossConfig["UPLOAD_HOST"],bucketPath)
           os.remove(savePath)
           resPath = ossPath
       res =  {"oss" : oss,"code" : 200,"msg" : msg,"path" : resPath}
       return res

if __name__ == '__main__':
     import uvicorn
     uvicorn.run(app = app , host = "0.0.0.0" , port = 8282 , workers = 1)

接口示例

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Python是一种强大的编程语言,可以用于实现各种操作,包括下载和上Excel文件。为了在Python中下载和上Excel文件,我们可以使用许多不同的库和模块。 下载Excel文件Python中下载Excel文件的方法之一是使用requests库。首先,我们需要安装该库。在安装之后,我们可以使用以下命令导入: ``` import requests ``` 强烈建议您通过以下命令检查是否成功安装了模块: ``` pip show requests ``` 接下来,我们可以使用以下代码下载Excel文件: ``` url = "url_of_the_excel_file" response = requests.get(url) with open("file_name.xlsx", "wb") as f: f.write(response.content) ``` 其中,我们用“url”变量存储要下载的文件的URL。然后,我们使用requests.get()方法从URL下载文件,并将其保存到response变量中。最后,我们使用open()方法创建一个新的文件来存储数据,然后使用write()方法将文件数据写入该文件。 上Excel文件 类比下载Excel文件,要在Python中上Excel文件相对复杂一些。我们需要使用“requests”和“multipart/form-data”编写代码来发送Excel文件数据。 我们可以使用requests.post()方法来上文件。以下是上Excel文件的代码示例: ``` import requests url = "upload_file_url" files = {'file': ('file_name.xlsx', open('file_name.xlsx', 'rb'))} response = requests.post(url, files=files) ``` 在上面的代码中,我们首先定义一个“url”变量,其中存储了我们要上文件的URL。接着,我们使用“open()”方法打开文件,并将文件文件名存储在文件字典“files”中。最后,我们使用requests.post()方法上Excel文件。需要注意的是,这里的“file”键名需与你的上接口中所定义的上参数名一致。 总结 上述代码是在Python中下载和上Excel文件的两个基本示例。有关如何下载和上更多类型的文件,请参阅有关各种Python库和模块的文档。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值