【全网首发】解决coze工作流批量上传excel数据文档数据重复的问题

news2025/5/17 21:33:00

注意:目前方法将基于前一章批量数据库导入的修改!!!!请先阅读上篇文章的操作。抄袭注明来源

背景

上一节说的方法可以批量导入文件到数据库,但是无法解决已经上传的条目更新问题。简单来说,不会覆盖原始数据,只会在数据库后面增加新的条目,并没有达到更新数据的目的,只能说上一篇文章解决了运营阶段智能体能够和数据后台的连接,是一把钥匙。那么本文解决的就是更新的问题【在原始条目上】

思想来源

你需要注意的是,经过我不断测试下来,字节的这个SQL自定义采用的是Oracle的方式,普通的REPLACE等操作指令不认,会报SQL语句语法错误的问题。其次,如果你采用MERGE等操作手段,你会发现SQL语句过于繁琐,对大批量数据写入数据库不友好,插件难以制作。因此,本人不得已采用了一种方式,那就是先删除原始节点再上传,同时,我更新了插件代码,同步生成对应的DEL语句指令

插件2.0代码

from runtime import Args
#注意下面的 read_excels根据自己设置的插件名称会有调整。
from typings.test.test import Input, Output
import requests
import io
import pandas as pd
import re
def remove_apostrophe(input_str: str) -> str:
    """移除字符串中的英文单引号"""
    return input_str.replace("'", "’")

def handler(args: Args[Input])->Output:
    # 文档地址 url
    url = args.input.file_link
    # 数据库表明
    database_table = args.input.database_table
    # 数据库表字段名(注意:文档的表头名字必须与数据库表字段名相同)
    database_table_list = args.input.database_table_list
    response = requests.get(url)
    values_list = []
    del_list = []
    s = ""
    m = ""
    if response.status_code == 200:
        df = pd.read_excel(io.BytesIO(response.content))
        for index, row in df.iloc[0:].iterrows():
            for i in database_table_list:
                res = row[i]
                if i == "product_name":
                    res = remove_apostrophe(row[i])
                if i == "erp_code":
                    del_list.append(str(res))  # 直接添加完整的ERP代码
                s = f"{s}'{res}',"
            values_list.append(f"({s[:-1]})")
            s = ""
        for i in database_table_list:
            m = f"{m}{i},"
        del_content = f"DELETE FROM {database_table} WHERE erp_code IN ({', '.join(f"'{x}'" for x in del_list)});"
        content = f"INSERT INTO {database_table} ({m[:-1]}) VALUES {', '.join(values_list)};"
    else:
        content = f"无法从网址获取文件,状态码:{response.status_code}"
        del_content = f"无法从网址获取文件,状态码:{response.status_code}"
    return {"insert_output1":content, "del_output2":del_content}

工作流2.0修改部分展示(完整请私信我)

在这里插入图片描述

效果展示

在这里插入图片描述
都维持在20条,没有机械式的简单增加
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2377994.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

xss-labs靶场第11-14关基础详解

前言: 目录 第11关 第12关 第13关前期思路: 第十四关 内容: 第11关 也和上一关一样,什么输入框都没有,也就是 也是一样的操作,先将这里的hidden属性删掉一个,注意是删掉一个 输入1111&a…

ConcurrentSkipListMap的深入学习

目录 1、介绍 1.1、线程安全 1.2、有序性 1.3、跳表数据结构 1.4、API 提供的功能 1.5、高效性 1.6、应用场景 2、数据结构 2.1、跳表(Skip List) 2.2、节点类型: 1.Node 2.Index 3.HeadIndex 2.3、特点 3、选择层级 3.1、随…

XML简要介绍

实际上现在的Java Web项目中更多的是基于springboot开发的,所以很少再使用xml去配置项目。所以我们的目的就是尽可能快速的去了解如何读懂和使用xml文件,对于DTD,XMLSchema这类约束的学习可以放松,主要是确保自己知道这里面的大致…

什么是直播美颜SDK?美颜技术底层算法科普

当下,不论是社交直播、电商直播,还是线上教学、虚拟主播场景,都离不开美颜技术的加持。虽然大家在日常使用直播APP时经常体验到美颜效果,但背后的技术原理却相对复杂。本篇文章小编将为大家揭开直播美颜SDK的神秘面纱,…

【pbootcms】打开访问首页显示未检测到您服务器环境的sqlite3数据库拓展,请检查php.ini中是否已经开启该拓展

【pbootcms】新建网站,新放的程序,打开访问首页显示未检测到您服务器环境的sqlite3数据库拓展,请检查php.ini中是否已经开启该拓展。 检查目前网站用到哪个版本的php,然后打开相关文件。 修改一下内容: 查找sqlite3,…

MySQL——十、InnoDB引擎

MVCC 当前读: 读取的是记录的最新版本,读取时还要保证其他并发事务不能修改当前记录,会对读取的记录进行加锁。 -- 当前读 select ... lock in share mode(共享锁) select ... for update update insert delete (排他锁)快照读:…

visual studio生成动态库DLL

visual studio生成动态库DLL 创建动态库工程 注意 #include “pch.h” 要放在上面 完成后点击生成 创建一个控制台项目 设置项目附加目录为刚才创建的动态库工程Dll1: 配置附加库目录: 配置动态库的导入库(.lib):链…

IDEA中git对于指定文件进行版本控制

最近在自己写代码的时候遇到了和公司里面不一样的,自己写的代码推到码云上是,会默认对于所有修改都进行提交,这样再提交的时候很不方便。 问了问ai,表示可以手动创建脚本实现,但是ai曲解了我的意思,它实现…

用Python绘制梦幻星空

用Python绘制梦幻星空 在这篇教程中,我们将学习如何使用Python创建一个美丽的星空场景。我们将使用Python的图形库Pygame和随机库来创建闪烁的星星、流星和月亮,打造一个动态的夜空效果。 项目概述 我们将实现以下功能: 创建深蓝色的夜…

GEE计算 RSEI(遥感生态指数)

🛰️ 什么是 RSEI?为什么要用它评估生态环境? RSEI(遥感生态指数,Remote Sensing Ecological Index) 是一种通过遥感数据计算得到的、综合反映区域生态环境质量的指标体系。 它的设计初衷是用最少的变量&…

python的家教课程管理系统

目录 技术栈介绍具体实现截图系统设计研究方法:设计步骤设计流程核心代码部分展示研究方法详细视频演示试验方案论文大纲源码获取/详细视频演示 技术栈介绍 Django-SpringBoot-php-Node.js-flask 本课题的研究方法和研究步骤基本合理,难度适中&#xf…

实现书签-第一部分

实现书签-第一部分 本节我们将实现书签功能,为菜谱点击类似于收藏的功能,然后可以在上方的书签找到我们所有收藏的书签; 在此之前,让我们修复一下之前的功能BUG,当我们搜索的时候,下面分页始终保持在上一…

解决将其他盘可用空间,移植到C盘

第一步首先下载安装 用来扩内存盘的实用工具资源-CSDN文库 第二步打开diskgenius.exe 第三步选中想扩容的盘 右击-》选择扩容分区-》选择要缩小的分区-》然后确定 第四步拖拽对勾的地方 或者在箭头地方输入想阔的大小,然后开始,一直确定,就…

第二天的尝试

目录 一、每日一言 二、练习题 三、效果展示 四、下次题目 五、总结 一、每日一言 清晰的明白自己想要的是什么,培养兴趣也好,一定要有自己的一技之长。我们不说多优秀,但是如果父母需要我们出力,不要只有眼泪。 二、练习题 对…

k8s灰度发布

基于 Traefik 的加权灰度发布-腾讯云开发者社区-腾讯云 Traefik | Traefik | v1.7 Releases traefik/traefik GitHub 从上面连接下载后上传到harbor虚拟机 vagrant upload /C/Users/HP280/Downloads/traefik 下载配置文件 wget -c http://raw.githubusercontent.com/conta…

前端面经 9 JS中的继承

借用Class实现继承 实现继承 extends super extends 继承父类 super调用父类的构造函数 子类中存在方法采取就近原则 ,子类构造函数需要使用super()调用父类的构造函数 JS 静态属性和私有属性 寄生组合式继承

memcached主主复制+keepalive

一、Memcached主主复制技术原理 Memcached原生不支持复制,需通过repcached分支实现双向同步。其关键机制包括: 双向同步架构 两节点互为主备(Master-Master),任意节点写入的数据会同步至对端。同步基于TCP协议&#x…

idea运行

各种小kips Linuxidea上传 Linux 部署流程 1、先在idea打好jar包,clean之后install 2、在Linux目录下,找到对应项目目录,把原来的jar包放在bak文件夹里面 3、杀死上一次jar包的pid ps -ef|grep cliaidata.jar kill pid 4、再进行上传新的jar…

CVPR2025 | 首个多光谱无人机单目标跟踪大规模数据集与统一框架, 数据可直接下载

论文介绍 题目:MUST: The First Dataset and Unified Framework for Multispectral UAV Single Object Tracking 期刊:IEEE/CVF Computer Vision and Pattern Recognition Conference 论文:https://arxiv.org/abs/2503.17699 数据&#x…

Docker实现MySQL数据库主从复制

一、拉取数据库镜像 docker pull mysql:5.7二、创建两个数据库(一主一从模式) mysql01(主) 1.docker run -d -p 3310:3306 -v /root/mysql/node-1/init:/docker-entrypoinit-initdb.d -v /root/mysql/node-1/config:/etc/mysql/conf.d -v /root/mysq…