当前位置: 首页 > news >正文

【效率提升教程】飞书自动化上传图片和文字

最近总是需要可视化模型结果,手动复制图片又慢又麻烦~

核心就是上传图片和文字这两个函数,替换这三个地方就可以实现啦~

SHEET_NAME = "" #子表名称
SPREADSHEET_TOKEN = "" #表格名

HEADERS = {
    "Authorization": "Bearer u-eSfStf4a1cvWVkcyX03FHl5gjg11gk2XUgG0ggSy8JcL", #替换为自己的key
    "Content-Type": "application/json",
}

import os
import json
import base64
import time
import requests# 飞书表格配置
SHEET_NAME = "" #子表名称
SPREADSHEET_TOKEN = "" #表格名
IMG_URL = f"https://open.feishu.cn/open-apis/sheets/v2/spreadsheets/{SPREADSHEET_TOKEN}/values_image"
TEXT_URL = f"https://open.feishu.cn/open-apis/sheets/v2/spreadsheets/{SPREADSHEET_TOKEN}/values"
HEADERS = {"Authorization": "Bearer u-eSfStf4a1cvWVkcyX03FHl5gjg11gk2XUgG0ggSy8JcL", #替换为自己的key"Content-Type": "application/json",
}def upload_image(image_path, column_index, row_index, max_retries=3):for attempt in range(max_retries):try:with open(image_path, "rb") as f:fb = f.read()fb = base64.b64encode(fb).decode("utf-8")data = {"range": f"{SHEET_NAME}!{chr(65 + column_index)}{row_index}:{chr(65 + column_index)}{row_index}","image": fb,"name": os.path.basename(image_path),}rsp = requests.post(IMG_URL, data=json.dumps(data), headers=HEADERS)rsp.raise_for_status()print(f"✅ 上传图片成功: {image_path} -> 行{row_index}, 列{column_index}")return Trueexcept Exception as e:print(f"❌ 上传图片失败: {e}(尝试 {attempt + 1}/{max_retries})")time.sleep(2)return Falsedef upload_text(text, column_index, row_index):try:data = {"valueRange": {"range": f"{SHEET_NAME}!{chr(65 + column_index)}{row_index}:{chr(65 + column_index)}{row_index}","values": [[text]],}}text_rsp = requests.put(TEXT_URL, data=json.dumps(data), headers=HEADERS)text_rsp.raise_for_status()print(f"📝 上传文字成功 -> 行{row_index}, 列{column_index}")return Trueexcept Exception as e:print(f"❌ 上传文字失败: {e}")return Falsedef process_jsonl(jsonl_path, column_img=0, column_txt=1):start_row = 2row_index = start_rowwith open(jsonl_path, "r", encoding="utf-8") as f:for line in f:try:data = json.loads(line)image_path = data["image"]score_text = str(data.get("score", "N/A"))if not os.path.exists(image_path):print(f"❌ 缺失图像: {image_path}")continueupload_image(image_path, column_img, row_index)upload_text(score_text, column_txt, row_index)row_index += 1except Exception as e:print(f"❌ 解析失败: {e}")continueif __name__ == "__main__":jsonl_file = "/mnt/data_vlm/jianai/edit_data/image_score.jsonl"  # 你自己的 jsonl 路径process_jsonl(jsonl_file, column_img=6*2, column_txt=6*2 + 1)  # 根据表格实际列设置起始列

一、建立表格

要注意这个表格只能在“云盘”下新建,否则不能成功,选别的链接里会带有wiki字样

二、获得表格/子表名

会得到这样一个网址。其中

SHEET_NAME = "I0sjZg"

SPREADSHEET_TOKEN = "Em9csSnhQhOKWMtLssectp1FnHe"

如果没有出现子表名字,说明只有一个子表,再新建一个就好了

三、获取鉴权key

如果是公司账户,需要使用个人号,记得给个人账号分享文档的编辑权限。

在这个网址创建一个应用即可,随便填写,然后点击获取key,这个key大概1-2个小时会过期。

获取工作表 - 服务端 API - 飞书开放平台

http://www.lryc.cn/news/579860.html

相关文章:

  • jQuery Mobile 安装使用教程
  • 《新消费模式与消费者权益保护研讨会》课题研讨会在北京顺利召开
  • 【嵌入式ARM汇编基础】-ELF文件格式内部结构详解(四)
  • 状态机管家:MeScroll 的交互秩序维护
  • 智能电动汽车 --- 车辆网关路由缓存
  • SAP SD模块之业务功能剖析
  • 京东小程序JS API仓颉改造实践
  • 「AI产业」| 《中国信通院华为:智能体技术和应用研究报告》
  • 【加解密与C】对称加密(四) RC4
  • K8s服务发布基础
  • LiteHub中间件之限流实现
  • git教程-pycharm使用tag打标签
  • 【JavaEE】计算机工作原理
  • 【IM项目笔记】1、WebSocket协议和服务端推送Web方案
  • Angular v20版本正式发布
  • Unity 中相机大小与相机矩形大小的关系
  • Android 网络请求优化全面指南
  • rs-agent论文精读
  • 第十五节:第四部分:特殊文件:XML的生成、约束(了解即可)
  • 【Modbus学习笔记】stm32实现Modbus
  • Python 闭包(Closure)实战总结
  • 万勋科技「柔韧机器人玻璃幕墙清洗」全国巡展@上海!引领清洗无人机智能化升级
  • 读商战数据挖掘:你需要了解的数据科学与分析思维05拟合数据
  • Windows系统下WSL从C盘迁移方案
  • Vue-19-前端框架Vue之应用基础组件通信(二)
  • 算法学习笔记:6.深度优先搜索算法——从原理到实战,涵盖 LeetCode 与考研 408 例题
  • 【办公类-54-07】20250901 2025学年第一学期班级点名册模版(双休国定假涂成灰色、修改标题和页眉,批量导出PDF)
  • 使用alist+RaiDrive+webdav将百度夸克网盘变为本地电脑磁盘方法教程
  • 基于微信小程序的校园二手交易平台、微信小程序校园二手商城源代码+数据库+使用说明,layui+微信小程序+Spring Boot
  • 如何搭建 OLAP 系统?OLAP与数据仓库有什么关系?