SQL,python,knime将数据混合的文字数字拆出来,合并计算(学习笔记)
将下面将数据混合的文字数字拆出来,合并计算

一、SQL解决:
---创建表插入数据
CREATE TABLE original_data (id INT AUTO_INCREMENT PRIMARY KEY,city VARCHAR(255),value DECIMAL(10, 2)
);INSERT INTO original_data (city, value) VALUES
('上海0.5, 浙江0.5', NULL),
('北京0.5, 天津0.5', NULL),
('天津', 1.0),
('北京', 1.0),
('上海', 2.0),
('浙江', 3.0);
-- 使用WITH语句定义了一个名为split_values的公用表表达式(CTE)
WITH split_values AS (-- 选择city字段,使用SUBSTRING_INDEX函数分割字符串,获取第一个逗号前的值,并截取'0.5'之前的部分SELECTTRIM(SUBSTRING_INDEX(SUBSTRING_INDEX(city, ',', 1), '0.5', 1)) AS city, -- 去除可能的前后空白,并截取第一个城市名称0.5 AS value -- 硬编码分割后每个部分的值FROM original_dataWHERE city LIKE '%,%' -- 只选择city字段包含逗号的记录UNION ALL-- 选择city字段,使用SUBSTRING_INDEX函数分割字符串,获取最后一个逗号后的值,并截取'0.5'之前的部分SELECTTRIM(SUBSTRING_INDEX(SUBSTRING_INDEX(city, ',', -1), '0.5', 1)) AS city, -- 去除可能的前后空白,并截取最后一个城市名称0.5 AS valueFROM original_dataWHERE city LIKE '%,%'UNION ALL-- 选择不包含逗号的city字段,即没有被分割的完整值SELECTcity,valueFROM original_dataWHERE city NOT LIKE '%,%' -- 选择city字段不包含逗号的记录
),
-- 定义另一个名为filtered_values的CTE,用于过滤掉空或NULL的城市名称
filtered_values AS (SELECTcity,valueFROMsplit_valuesWHEREcity IS NOT NULL AND city != '' -- 确保城市名称不为空
),
-- 定义第三个CTE,aggregated_values,用于对过滤后的城市名称进行分组并求和
aggregated_values AS (SELECTcity,SUM(value) AS total_value -- 对每个城市的所有value值进行求和FROMfiltered_valuesGROUP BYcity
)
-- 最终选择语句,从aggregated_values CTE中选择城市和它们的总价值
SELECTcity,total_value
FROMaggregated_values
ORDER BYcity; -- 按城市名称排序结果

二、python解决:
1、确保你已经安装了Python和pip。打开命令行或终端,然后输入以下命令:
pip install pymysql
2、建立test.py,里面内容如下:
import pymysql
import pandas as pd# Connect to the MySQL database
connection = pymysql.connect(host='127.0.0.1',user='root',password='root',database='test'
)# 读取original_data表数据
query = 'SELECT * FROM original_data'
df = pd.read_sql(query, connection)
print("################展示数据库数据########################")
print(df)
# 关闭数据库连接
connection.close()# 初始化一个空的数据框来存储处理后的数据
result = pd.DataFrame(columns=['city', 'value'])# 处理每一行数据
for index, row in df.iterrows():if pd.isnull(row['value']):# 如果 value 列为空,用 str.extract 提取城市和对应的值parts = row['city'].split(', ')for part in parts:# 使用正则表达式提取城市和对应的值import rematch = re.match(r'(\D+)([0-9.]+)', part)if match:city, value = match.groups()result = result.append({'city': city.strip(), 'value': float(value)}, ignore_index=True)else:# 如果 value 列不为空,直接使用result = result.append({'city': row['city'], 'value': row['value']}, ignore_index=True)# 按城市分组并求和
result = result.groupby('city').sum().reset_index()# 重命名列
result.columns = ['city', 'total_value']
print("################最终显示结果########################")
print(result)

最后显示结果

三、knime解法:
#正在研究中…
后面更新
相关文章:
SQL,python,knime将数据混合的文字数字拆出来,合并计算(学习笔记)
将下面将数据混合的文字数字拆出来,合并计算 一、SQL解决: ---创建表插入数据 CREATE TABLE original_data (id INT AUTO_INCREMENT PRIMARY KEY,city VARCHAR(255),value DECIMAL(10, 2) );INSERT INTO original_data (city, value) VALUES (上海0.5…...
【算法】LRU缓存
难度:中等 题目: 请你设计并实现一个满足 LRU (最近最少使用) 缓存 约束的数据结构。 实现 LRUCache 类: LRUCache(int capacity) 以 正整数 作为容量 capacity 初始化 LRU 缓存int get(int key) 如果关键字 key 存在于缓存中,…...
解决elementUI列表的疑难杂症,排序显示错乱的问题
大家好,在使用elementUI表格时,有时会出现一些意料之外的问题,比如数据排序正常但表格显示、排序错乱等。在网上搜索后一般有2种解决方法:1.给表格每一项的el-table-column添加唯一的id用于区分。2.给表格每一项的el-table-column…...
重大消息:手机车机互联投屏专题发布-千里马带你学框架
背景: android投屏的使用场景以前在新能源车机还没火爆时候,大部分停留在手机小屏幕投屏到大屏幕的情况及整个多端设备的互动,整体需求和技术发展其实也就是比较有限,但是新能源车机火爆后,那么这种手机和车机互联互动…...
jail子系统里升级Ubuntu focal到jammy
Ubuntu focal是20.04 ,jammy版本是22.04,本次的目的就是将FreeBSD jail子系统里的Ubuntu 从20.04升级到22.04 。这个focal 子系统是通过cbsd克隆得到的。使用CBSD克隆复制Ubuntu jail子系统环境-CSDN博客 do-release-upgrade升级没成功,用de…...
2024年7月20日(星期六)骑行支里山
2024年7月20日 (星期六)骑行支里山,早8:00到8:30,大观公园门口集合,9:00准时出发【因迟到者,骑行速度快者,可自行追赶偶遇。】 偶遇地点:大观公园门口集合 ,家住东,南,北…...
Python:正则表达式相关整理
最近因为一些原因频繁使用正则表达式,因为以前系统整理过关于正则表达式的相关知识,所以这里仅记录使用期间遇到的问题。 本文内容基于re包 1. match和search方法的区别 在Python中,re.search和re.match都是用于匹配字符串的正则表达式函数&a…...
ChatGPT对话:有关花卉数据集
【编者按】编者准备研究基于深度学习的花卉识别,首先需要花卉数据集。 后续,编者不断会记录研究花卉识别过程中的技术知识,敬请围观 1问:推荐一下用于深度学习的花卉数据集 ChatGPT 以下是一些用于深度学习的优秀花卉数据集&am…...
特征向量及算法
数据挖掘流程 加载数据 把需要的模型数据先计算出来 特征工程 提取数据特征,对特征数据进行清洗转化 数据的筛选和清洗数据转化 类型转为 性别 男,女 ----> 1,0特征交叉 性别/职业/收入 —> 新特这 优质男性程序员 将多个特征值组合在一起特征筛选…...
cpp 强制转换
一、static_cast static_cast 是 C 中的一个类型转换操作符,用于在类的层次结构中进行安全的向上转换(从派生类到基类)或进行不需要运行时类型检查的转换。它主要用于基本数据类型之间的转换、对象指针或引用的向上转换(即从派生…...
MySQL字符串魔法:拼接、截取、替换与定位的艺术
在数据的世界里,MySQL作为一把强大的数据处理利剑,其字符串处理功能犹如魔术师手中的魔法棒,让数据变换自如。今天,我们就来一场关于MySQL字符串拼接、截取、替换以及查找位置的奇幻之旅,揭开这些操作的神秘面纱。 介绍…...
在 Windows 上开发.NET MAUI 应用_1.安装开发环境
开发跨平台的本机 .NET Multi-platform App UI (.NET MAUI) 应用需要 Visual Studio 2022 17.8 或更高版本,或者具有 .NET MAUI 扩展的最新 Visual Studio Code。要开始在 Windows 上开发本机跨平台 .NET MAUI 应用,请按照安装步骤安装 Visual Studio 20…...
深度学习驱动智能超材料设计与应用
在深度学习与超材料融合的背景下,不仅提高了设计的效率和质量,还为实现定制化和精准化的治疗提供了可能,展现了在材料科学领域的巨大潜力。深度学习可以帮助实现超材料结构参数的优化、电磁响应的预测、拓扑结构的自动设计、相位的预测及结构…...
Netty UDP
Netty在UDP(用户数据报协议,User Datagram Protocol)通信中的应用非常广泛,特别是在对实时性要求较高、对数据准确性要求相对较低的场景中,如视频传输、语音通信等。以下是对Netty在UDP通信中的详细解析: …...
Spring Framework各种jar包官网下载2024年最新下载官方渠道。
Spring其实就是一个大家族,它包含了Spring Framework,Spring Boot等一系列技术,它其实就是由许许多多的jar包构成,我们要使用Spring的框架,就要去下载支持这个框架的jar包即可。 1.官网下载Spring Framework的jar包 官…...
【Unity】RPG2D龙城纷争(十三)升级系统
更新日期:2024年7月16日。 项目源码:第五章发布(正式开始游戏逻辑的章节) 索引 简介一、升级系统数据集1.升级公式2.获得经验值公式3.预览所有等级经验值二、为关卡配置升级系统三、玩家角色获得经验事件四、玩家角色升级事件五、计算玩家角色获得经验值六、计算玩家角色是…...
保障低压设备安全!中国星坤连接器精密工艺解析!
在现代电子设备中,连接器扮演着至关重要的角色,它们是电子系统之间沟通的桥梁。随着技术的发展,对连接器的需求也在不断提升,特别是在低电压应用领域。中国星坤最新推出的低压连接器,以其精密性和安全性,为…...
中国星坤X0800HI系列线对板连接器:创新技术连接,引领智能家居未来!
近日,中国星坤推出的X0800HI系列线对板连接器,凭借其独特的设计和卓越的性能,引起了业界的广泛关注。 X0800HI系列线对板连接器在极小空间内实现了线对板的W-B连接,这不仅解决了传统连接方式中剥线和焊接的繁琐步骤,还…...
SPring Boot整合第三方框架
springboot整合第三方框架 1. 整合mybatis 1.1引入依赖——pom.xml配置文件 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instanc…...
读取sqlserver数据库中varbinary(max)类型的内容,并将图片信息显示在前端页面
目录 1.varbinary(max)的说明 2.图片显示 3.总结 1.varbinary(max)的说明 varbinary(max) 是一种SQL Server数据库字段类型,用于存储二进制数据,可以存储最大长度的二进制数据。以下是关于 varbinary(max) 的说明: 存储容量: 可以存储最大…...
MulimgViewer:高效多图像浏览与对比工具
MulimgViewer:高效多图像浏览与对比工具 【免费下载链接】MulimgViewer MulimgViewer is a multi-image viewer that can open multiple images in one interface, which is convenient for image comparison and image stitching. 项目地址: https://gitcode.com…...
从理论到UI:手把手教你用PyQt5给MTCNN人脸检测算法做个可视化界面
从理论到UI:手把手教你用PyQt5给MTCNN人脸检测算法做个可视化界面 在计算机视觉领域,人脸检测一直是热门研究方向之一。MTCNN(Multi-task Cascaded Convolutional Networks)作为经典的人脸检测算法,凭借其高精度和实时…...
如何高效管理中文文献:Zotero茉莉花插件完整使用指南
如何高效管理中文文献:Zotero茉莉花插件完整使用指南 【免费下载链接】jasminum A Zotero add-on to retrive CNKI meta data. 一个简单的Zotero 插件,用于识别中文元数据 项目地址: https://gitcode.com/gh_mirrors/ja/jasminum 还在为Zotero处理…...
IP查询工具怎么选?在线API vs IP离线库:精度、速度、成本、隐私全对比
随着游戏安全、反作弊、精准营销、风控合规等业务场景的增长,IP查询逐渐从“简单的归属地展示”转向大规模实时决策、风险识别与行为画像构建的核心基础能力。选择在线API还是离线库,直接决定了你的系统在高并发下的稳定性、数据合规性以及长期运维成本。…...
BS-RoFormer:音频分离技术的革命性突破,从混合音乐中提取纯净音轨的终极指南
BS-RoFormer:音频分离技术的革命性突破,从混合音乐中提取纯净音轨的终极指南 【免费下载链接】BS-RoFormer Implementation of Band Split Roformer, SOTA Attention network for music source separation out of ByteDance AI Labs 项目地址: https:/…...
chatgpt-mirai-qq-bot输入输出参数:类型验证和默认值处理
chatgpt-mirai-qq-bot输入输出参数:类型验证和默认值处理 在构建复杂的聊天机器人系统时,输入输出参数的类型验证和默认值处理是确保系统稳定性和可靠性的关键。chatgpt-mirai-qq-bot项目通过精心设计的参数处理机制,为开发者提供了强大的类型…...
RustRedOps COM组件操作指南:从IActiveScript到IShellDispatch的完整示例
RustRedOps COM组件操作指南:从IActiveScript到IShellDispatch的完整示例 【免费下载链接】RustRedOps RustRedOps is a repository for advanced Red Team techniques focused on Rust 项目地址: https://gitcode.com/gh_mirrors/ru/RustRedOps RustRedOps是…...
OpCore-Simplify:开源系统硬件适配的自动化配置引擎
OpCore-Simplify:开源系统硬件适配的自动化配置引擎 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 在跨平台系统部署领域,硬件…...
如何快速掌握智能电源管理:macOS用户的完整配置指南
如何快速掌握智能电源管理:macOS用户的完整配置指南 【免费下载链接】SleeperX MacBook prevent idle/lid sleep! Hackintosh sleep on low battery capacity. 项目地址: https://gitcode.com/gh_mirrors/sl/SleeperX SleeperX是一款专为macOS用户设计的开源…...
【Linux内核模块】模块的编译:从代码到可加载模块的 “变身术“
一、内核模块编译的特殊性:为什么不能直接用 gcc?普通 C 程序编译很简单,gcc hello.c -o hello就行,但内核模块可不行。这就像做面包和做蛋糕的区别 —— 虽然都是面粉做的,但烤箱温度、配料比例完全不同。1.1 内核模块…...
