Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >如何拆解 KV 格式的字串({key}value)

如何拆解 KV 格式的字串({key}value)

原创
作者头像
朱迪
发布于 2024-05-06 05:38:23
发布于 2024-05-06 05:38:23
1640
举报
文章被收录于专栏:Excel疑难杂症Excel疑难杂症

例题描述

在 Excel 中有包含四个字段的数据表,且各字段的数据内容不一。其中的 ID 字段为 {key}value 结构的数值,如下图所示:

..
..

现在需要分两步对数据进行如下整理。

1,按行将 ID 中 key 值分别为 S1,S6,S10 的 value 值取出来,然后拼到 TEAMS 字段后面;2,再将 NUM 的内容中连接符“*”替换为逗号,然后拼到 DETAILS 字段前面。具体的整理相关内容,以及整理后的期望结果如下图所示,其中红色部分为整理前后的相关数据:

..
..

实现步骤

使用 Excel 插件 SPL XLL

在空白单元格写入公式:

=spl("=E(?).run(replace(ID,[""{"",""}""],["""",""=""]):KV,TEAMS=TEAMS+"";""+[""S1"",""S6"",""S10""].(KV.property@c(~)).concat("";""),DETAILS=""[NUM -""+replace(NUM,""*"","","")+""].""+DETAILS)",A1:D3)

如图:

..
..

简要说明:

去掉 ID 字段内容中的左括号,将右括号替换为 =,使得 KV 字段内容为标准的 Key=value 结构。

使用函数 property 从标准的 Key=value 串中获取到相应 key 的键值,然后拼接到 TEAMS 字段。完成数据整理要求的第 1 步。

替换 NUM 的分节符号后,拼到 DETAILS 前面。完成数据整理要求的第 2 步。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
python基础数据类型----整数 ,
s = input('输入内容') #input输入的为字符串类型 if s: #(字符串作为布尔值进行判断) print('有内容') else: print('没有输入任何内容') #直接回车,显示“没有输入任何内容” #先空格,再回车,显示“有内容”
py3study
2020/01/16
8880
职场表格易错点解析:数据格式不规范怎么办?
👆点击“博文视点Broadview”,获取更多书讯 数据格式不规范的可能性有多种多样,但高频发生的错误主要有日期格式和数字格式错误,或者是单元格中存在多余空格,导致无法精确统计和计算(见图1)。 图1 不管是财务人员还是领导,看到如图1所示的表格时一定处在崩溃的边缘。想要计算总额,输入函数后一看,怎么数据对不上?想直接定位查看某位员工的详细数据,结果 Excel 提示“查无此人”(见图2)。 图2 领导看了直摇头叹息:好好的一个 Excel 表格,【运算】和【查找】功能统统用不上,那这份表格的意义是什
博文视点Broadview
2022/05/27
2.5K0
职场表格易错点解析:数据格式不规范怎么办?
精通正则表达式 - 正则表达式实用技巧
        希望匹配连续多行文本,常见的情况是,一个逻辑行(logical line)可以分为许多现实的行,每一行以反斜杠结尾。
用户1148526
2023/10/14
1K0
2018-7月19日系统模块字符串操作
每天遇到的新单词: recursion   n:递归 objece      n:对象 maximum     adj:最大值 exceed      v:超过,超越 exceeded    adj:过度的,非常的 attribute   v:认为是 isdigit     n:数字 task        n:任务 encode      v:编码 decode      v:解码 separator   n:分隔符
武军超
2018/09/27
7830
Python基本数据类型 与 组合数据类型(涵盖大部分常用内置函数)
在其他编程语言中,例如C 语言,Java float是属于单精度的数据类型,为了表示精度更高的数据,会有 double 数据类型。但是 Python 中表示浮点数只有 float 类型
Gorit
2021/12/09
6180
Python基本数据类型 与 组合数据类型(涵盖大部分常用内置函数)
XTU 程序设计Python实训三
任务1 字符串拼接 依次输入两个字符串赋值给s1和s2,并将s1中所有英文字母转换为大写后连接到s2后面,并将拼接的结果赋值给s3,输出s3的值。 提示:应用“+”运算和字符串的upper()方法。 任务2 根据字符串的长度确定字符串输出重复次数 输入一个字符串赋值给s4,根据s4的长度来确定将s3重复多少次,重复运算结果赋值给s5,并输出s5的值。例如:输入“A1”, 如果s3的值是123XTU,则输出123XTU123XTU。 提示:求字符串的长度用内置函数len(),重复运算用“*” 任务3 访问字符串以及子字符串 输入一个长度为2字符串赋值s6,判定s6在s5的第2至第11个字符(包含第11个字符)之间首次出现的位置与出现次数,若s5的长度小于10,则表示从第2个字符到字符串末尾的子串。例如:输入“XT”,若s5的值是123XTU123XTU,则输出“2 2”,第2个到第11字符的子串是23XTU123XT:表示:“XT”在子串“23XTU123XT”中首次出现的起始位置是2,总共出现了2次。 提示:本任务中需要用到字符串的切片运算:[m:n],出现位置与次数分别使用序列类型的共有方法:index()和count() 任务4 字符串的替换 输入一个字符串赋值给s8,将s5中所有的数字符号”2”替换成存储在s8中的字符串,并将替换结果赋值给s9,输出s9的值。例如:输入一个字符串“TO”,s5是123XTU123XTU,则输出替换后的结果为:1TO3XTU1TO3XTU。 提示:本任务中需要用到字符串的方法:replace() 任务5 字符串反转 将任务4中替换结果s9反转,输出s9反转后的值。例如:s9中存储的是:1TO3XTU1TO3XTU,则输出的反转结果是:UTX3OT1UTX3OT1 提示:本任务中需要用到字符串的切片运算:[::-1]
用户7886150
2020/11/20
1.1K0
大数据之脚踏实地学17--Scala字符串的清洗
在之前的Scala系列中分享了有关数据类型、运算符操作、控制流语法、自定义函数、以及几种集合的使用。慢慢地Scala体系将越来越丰富,在本期内容中将跟各位网友分享Scala的字符串操作和正则表达式的巧用。
1480
2019/05/21
2.4K0
C# 实现格式化文本导入到Excel
在一些导入功能里,甲方经常会给我们一些格式化的文本,类似 CSV 那样的纯文本。比如有关质量监督的标准文件(如国家标准、地方标准、企业标准等),还有一此国际标准文件等等。提供给我们的这些文件是文件尺寸比较大的纯文本文件,文件内容是格式化的文本,具有规律的分隔字符。Excel 本身提供有导入文本文件的功能,但由于标准制定和发布是比较频繁,每次的导入与整理还是比较耗时的,因些实现文本文件导入到 Excel 的功能可以更快速的解决重复劳动和错误,实现流程自动化的一环。
初九之潜龙勿用
2024/06/20
1740
C# 实现格式化文本导入到Excel
day05(数字类型,字符串类型,列表类
 num = -1000000000000000000000000000000000000000000000000   print(num, type(num))                #<class 'int'>
py3study
2020/01/16
5250
python入门到放弃(四)-基本数据类型之str字符串
1.概念 python中用',",''',"""引起来的内容称为字符串,可以保存少量数据并进行相应的操作 #先来看看str的源码写了什么,方法:按ctrl+鼠标左键点str class int(object): """ int(x=0) -> int or long int(x, base=10) -> int or long Convert a number or string to an integer, or return 0 if no arguments
老油条IT记
2020/03/22
7420
Python爬虫基础——05-高级数据类型
类比生活中,如果某位同学调班了,那么就应该把这个同学的信息在姓名中删除,在开发中经常会用到删除这种功能。
冷影玺
2023/10/11
2310
Python爬虫基础——05-高级数据类型
IGNORE,REPLACE,ON DUPLICATE KEY UPDATE在避免重复插入记录时存在的问题及最佳实践
在实际业务场景中,经常会有这样的需求:插入一条记录,如果数据表中已经存在该条记录则更新它的部分字段,比如更新update_time或者在某些列上执行累加操作等。参考博客1中介绍了三种在MySQL中避免重复插入记录的方法,本文将在简单介绍这三种用法的基础上,深入分析这其各自存在的问题,最后给出在实际生产环境中对该业务场景的最佳实践。
saintyyu
2021/11/22
2.6K1
IGNORE,REPLACE,ON DUPLICATE KEY UPDATE在避免重复插入记录时存在的问题及最佳实践
Java匹马行天下之JavaSE核心技术——工具类
Byte 类将基本类型 byte 的值包装在一个对象中。一个 Byte 类型的对象只包含一个类型为 byte 的字段。 
泰斗贤若如
2019/06/18
6000
"Python替代Excel Vba"系列(三):pandas处理不规范数据
本系列前2篇已经稍微展示了 python 在数据处理方面的强大能力,这主要得益于 pandas 包的各种灵活处理方式。
咋咋
2021/09/01
5.4K0
"Python替代Excel Vba"系列(三):pandas处理不规范数据
如何使用Phoenix在CDH的HBase中创建二级索引
温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。 Fayson的github: https://github.com/fayson/cdhproject 提示:代码块部分可以左右滑动查看噢 1.文档编写目的 ---- 对于HBase而言,如果想精确地定位到某行记录,唯一的办法是通过rowkey来查询。如果不通过rowkey来查找数据,就必须逐行地比较每一列的值,即全表扫瞄。对于较大的表,全表扫描的代价是不可接受的。 但是,很多情况下,需要从多个角度查询数据。例如,在定位某个人的时候,可以通过姓
Fayson
2018/07/12
7.9K2
Python的正则表达式_python正则表达式例子
https://github.com/ziishaned/learn-regex/ https://regex101.com/ 在线练习
全栈程序员站长
2022/09/30
6880
Python编程实验二:字符串与列表的基本应用
(1)通过本次实验,学生应掌握字符串索引、切片和一些常用方法的使用; (2)掌握列表创建的基本方法,能实现列表元素增加、查询、排序等常见操作; (3)能结合应用问题选择合适的数据结构进行问题求解; (4)按照实验题目要求独立正确地完成实验内容(编写、调试算法程序,提交程序清单及及相关实验数据与运行结果)
Francek Chen
2025/01/22
1050
Python编程实验二:字符串与列表的基本应用
【C语言系列】操作符的详解
我们可以看出C语言中大概有12种常见的操作符,而部分操作符是我们前面介绍过的,忘了的可以用以下链接来复习以下:https://blog.csdn.net/2301_80179750/article/details/141575238?fromshare=blogdetail&amp;sharetype=blogdetail&amp;sharerId=141575238&amp;sharerefer=PC&amp;sharesource=2301_80179750&amp;sharefrom=from_link,而我们今天要学的部分操作符与二进制有关,下面我们先介绍一下与二进制有关的知识,为后面要学的操作符铺垫。
四念处茫茫
2025/02/07
1570
【C语言系列】操作符的详解
BI开发过程中的数据处理(Doris)
https://doris.apache.org/zh-CN/docs/dev/get-starting/what-is-apache-doris/
码客说
2023/10/08
1.3K0
BI开发过程中的数据处理(Doris)
回顾|Python中的数据结构
可对列表执行所有的标准序列操作,如索引、切片、拼接和相乘,但列表的有趣之处在于它不同于元组 是可以修改的。
用户3577892
2021/03/15
3.4K0
回顾|Python中的数据结构
推荐阅读
相关推荐
python基础数据类型----整数 ,
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档