行数据转换为list的小工具

news/2024/12/23 20:14:40 标签: oracle, 数据库

遇到email 邮件,收件人多的时候要以 ; 进行分隔

数据库 select 的条件 in (xxxxx,xxx)要用逗号分隔

python list 则是[xxxx,xxxx] 逗号分隔,而且还要添加 " ' "

整理这个数据实在麻烦

希望效果如下:这样以后转换就很方便

写一个 excel vba 如下

Sub ConcatenateCellsAsList()
    '定义变量lastRow,用于存储最后一行的行号(数据所在的最后一行)
    Dim lastRow As Long
    '定义变量lastCol,用于存储最后一列的列号(数据所在的最后一列),不过在这里下面重新赋值为1了,可根据实际需求调整是否获取真实的最后一列位置
    Dim lastCol As Long
    '定义变量cellContents,用于拼接单元格的内容,最终会将拼接好的内容放置到指定单元格中
    Dim cellContents As String
    '定义变量r,用于循环遍历行的计数器
    Dim r As Long
    '定义变量c,用于循环遍历列的计数器
    Dim c As Long
    
    '从第三行第二列(Excel中行列索引从1开始,对应代码里的2和3)的单元格获取值,并赋值给变量LK,这里不清楚LK具体含义,可能是左括号之类的拼接字符,可根据实际需求调整
    LK = Cells(2, 3)
    '从第三行第三列的单元格获取值,并赋值给变量RK,可能是右括号之类的拼接字符,可根据实际情况调整其用途
    RK = Cells(3, 3)
    '从第四行第三列的单元格获取值,并赋值给变量DH,推测可能是分隔符之类的字符,同样可按需调整
    DH = Cells(4, 3)
    '从第五行第三列的单元格获取值,并赋值给变量ZF,也许是用于包裹每个单元格值的字符,如引号之类,具体依实际而定
    ZF = Cells(5, 3)

    '获取A列(因为min_col默认是1,如果要获取其他列起始数据的最后一行,需调整参数)最后一个有数据的行号,赋值给lastRow变量
    lastRow = Cells(Rows.Count, 1).End(xlUp).Row
    '这里将lastCol固定赋值为1,意味着只处理第一列的数据,如果要处理多列,可取消下面这行注释,并启用上面原本定义lastCol的那行代码来获取真实的最后一列位置
'    lastCol = Cells(1, Columns.Count).End(xlToLeft).Row
    lastCol = 1
    '先将LK的值赋给cellContents,作为拼接内容的起始部分,例如如果LK是左括号,那就是拼接内容最开始的字符
    cellContents = LK
    '外层循环,从第一行开始遍历每一行,直到最后一行(lastRow)
    For r = 1 To lastRow
        '内层循环,从第一列开始遍历每一列,这里因为lastCol被赋值为1,所以只遍历第一列,若要处理多列需调整lastCol值
        For c = 1 To lastCol
            '将cellContents已有的内容、ZF(可能是包裹字符)、当前单元格(r行c列)的值、ZF(再次添加包裹字符)依次拼接起来,更新cellContents的值
            cellContents = cellContents & ZF & Cells(r, c).Value & ZF
            '如果不是最后一行或者不是最后一列(这里因为只处理一列,所以主要判断是否为最后一行),就添加DH(推测是分隔符)
            If r < lastRow Or c < lastCol Then
                cellContents = cellContents & DH
            End If
        Next c
    Next r
    '将RK(可能是右括号之类的结尾字符)拼接到cellContents末尾,完成整个内容的拼接
    cellContents = cellContents & RK
    
    '将拼接好的cellContents的内容赋值给C6单元格,实现将处理后的内容输出到指定单元格
    Range("C6").Value = cellContents
End Sub

请注意,代码中的 LKRKDHZF 这些变量对应的单元格内容具体用途,要根据你的实际需求来确定,从代码逻辑推测它们是用于拼接格式相关的一些字符(比如括号、分隔符、引号等),你可以根据真实的数据格式要求去调整对应单元格中的值来满足使用场景。如果要处理多列数据等情况,也需要对代码中关于列的处理部分进行相应修改


http://www.niftyadmin.cn/n/5796945.html

相关文章

2024多模态大模型综述最新总结

摘要 随着人工智能技术的快速发展&#xff0c;多模态大模型&#xff08;MLLM&#xff09;已成为研究的新热点。这些模型以强大的大型语言模型&#xff08;LLM&#xff09;为基础&#xff0c;能够处理和理解多种模态信息&#xff0c;如文本、图像、视频和音频。本文综述了MLLM的…

详细ECharts图例3添加鼠标单击事件的柱状图

<!DOCTYPE html><html><head><meta charset"UTF-8"><script src"js/echarts.js"></script> <!-- 确保路径正确 --><title>添加鼠标单击事件的柱状图</title></head><body><div id&q…

【机器人】机械臂位置、轨迹和转矩控制概要

仍旧以 RRR&#xff08;三连杆&#xff09;为例&#xff0c;实现控制&#xff0c;可以采用以下步骤。这里的控制包括 位置控制轨迹控制 轨迹跟踪控制&#xff0c; 具体根据应用需求选择。以下是实现 RRR 机械臂控制的完整过程&#xff1a; 1. 定义机器人模型 通过 Denavit-H…

服务器上加入SFTP------(小白篇 1)

在服务器上配置 SFTP (基于 SSH 的文件传输协议) 通常比传统 FTP 更安全&#xff0c;因为它默认加密通信。以下是详细的配置步骤&#xff0c;以 Ubuntu 或 CentOS 为例。 1.服务器上加入SFTP------(小白篇 1) 2.加入SFTP 用户------(小白篇 2) 3.代码加入SFTP JAVA —&#…

Java-32 深入浅出 Spring - IoC 基础 启动IoC 纯注解方式 SpringConfig web.xml

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; 大数据篇正在更新&#xff01;https://blog.csdn.net/w776341482/category_12713819.html 目前已经更新到了&#xff1a; MyBatis&#xff…

Rust之抽空学习系列(五)—— 所有权(上)

Rust之抽空学习系列&#xff08;五&#xff09;—— 所有权&#xff08;上&#xff09; 1、什么是所有权 所有权是确保Rust程序安全的一种机制 安全则是指程序中没有未定义的行为未定义的行为是指在执行一段代码时&#xff0c;结果不可预测且未被编程语言指定的情况Rust的基…

AI的进阶之路:从机器学习到深度学习的演变(三)

&#xff08;承接上集&#xff1a;AI的进阶之路&#xff1a;从机器学习到深度学习的演变&#xff08;二&#xff09;&#xff09; 四、深度学习&#xff08;DL&#xff09;&#xff1a;机器学习的革命性突破 深度学习&#xff08;DL&#xff09;作为机器学习的一个重要分支&am…

人工智能在影像组学领域的最新前沿进展|文献速递·24-12-19

小罗碎碎念 推文速览 第一篇文章通过机器学习对阿尔茨海默病&#xff08;AD&#xff09;控制数据进行分析&#xff0c;研究者识别出AD敏感特征&#xff0c;并模拟了这些特征在健康成年人中的变化。研究了健康成年人大脑结构变化与阿尔茨海默病遗传风险因素之间的关联&#xff0…