使用Python处理Excel中一对多匹配关系

import pandas as pddf = pd.read_excel(r'C:\Users\wangkejun\Desktop\1.xls')# 提取一一对应的数据
sku_list = []
channel_list = []for sku, channel in zip(df['XXX'], df['XXXX']):if pd.isna(channel):  # 判断是否为缺失值continue  # 是缺失值则跳过该行数据if ',' in str(sku):  # 将sku转换为字符串类型sku_items = str(sku).split(',')channel_items = channel.split(',')# 处理长度不一致的情况min_len = min(len(sku_items), len(channel_items))sku_list.extend(sku_items[:min_len])channel_list.extend(channel_items[:min_len])# 创建新的DataFrame
new_df = pd.DataFrame({'XXX': sku_list,'XXXX': channel_list
})new_df.to_excel(r'C:\Users\wangkejun\Desktop\1.xlsx')

原数据 

结果 

  • 使用zip()函数将两列数据进行逐行遍历,sku和channel分别对应每一行的"XXXX"和"XXXX";
  • 判断channel是否为缺失值,如果是则跳过该行数据,不做处理;
  • 如果sku中包含逗号(,),则说明一个发货单中有多个产品,需要将sku和channel分别按照逗号进行拆分;
  • 处理长度不一致的情况,将sku和channel的长度取最小值,只保留相同数量的数据,并将其分别存入sku_list和channel_list中。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android---Kotlin 学习007

集合可以方便你处理一组数据,也可以作为值参传给函数,和我们学过的其它变量类型一样,List、Set 和 Map 类型的变量也分为两类,只读和可变。 List创建与元素获取 通过 listOf() 函数创建一个 List 集合。 val listString : List&…

快来看!苹果开放侧载,对开发者来说是祸是福?

不知道你们听说了没有? 苹果公司在向SEC提供的2023年10-K文件中明确表现,伴随着欧盟委员会《数字市场法案》的正式落地将不得不在苹果手机上开放“应用侧载”功能。 简单来说,就是你的App可以不用在App Store里下载,而是可以通过…

正则表达式:简化模式匹配的利器

正则表达式:简化模式匹配的利器 一、正则表达式简介1.1 正则表达式介绍1.2 正则表达式使用场景 二、正则表达式语法2.1 正则表达式元字符和特性2.2 正则表达式常用匹配 三、正则表达式实战3.1 常见的正则表达式用法3.2 正则表达式的过滤用法3.3 正则表达式的代码用法…

做外贸你遇到过哪些奇葩客户?

近日的某个晚上,突然有一个外国人加whatsapp, 然后对方说是从社媒上看到我的联系方式,所以就加上我了。 我心想,难道对方有什么产品需求,不知道看上的是哪款产品,还没等我回复信息,对方又说他们所在的地区…

基于VGG-16+Android+Python的智能车辆驾驶行为分析—深度学习算法应用(含全部工程源码)+数据集+模型(一)

目录 前言总体设计系统整体结构图系统流程图 运行环境Python环境TensorFlow 环境Pycharm 环境Android环境 相关其它博客工程源代码下载其它资料下载 前言 本项目采用VGG-16网络模型,使用Kaggle开源数据集,旨在提取图片中的用户特征,最终在移…

智慧工地源码:为施工企业提供专业落地的解决方案

智慧工地利用物联网、大数据、AI等核心技术,实时采集现场数据,自动分析,精准分析、智能决策、科学评价,形成一套数据驱动的新型管理模式。为施工企业提供生产提效、安全可控、成本节约的项目管理解决方案,提升项目部管…

DataGrip连接Hive以及MySQL

如果连接失败,是因为useSSL ,改成NO或者False;

HarmonyOS保存应用数据

数据管理 1 概述 在移动互联网蓬勃发展的今天,移动应用给我们生活带来了极大的便利,这些便利的本质在于数据的互联互通。因此在应用的开发中数据存储占据了非常重要的位置,HarmonyOS应用开发也不例外。 本文将为您介绍HarmonyOS提供的数据管…

若依源码分析

一.登录 1.1 生成验证码 基本思路 后端生成一个表达式,74?11 74?转成图片,传到前端进行展示 将结果11存入redis 前端代码实现: 请求后端地址:http://localhost/dev-api/captchaImage,通过反向代理解决前后端跨域问题,将请求路径变为:http://localhost:8080/captchaImag…

【注解和反射】--03 类的加载、ClassLoader

反射 【Class】哪些类型可以有Class对象? class:外部类,成员(成员内部类,静态内部类),局部内部类,匿名内部类interface:接口[]:数组enum:枚举annotation:注…

Windows系统下载安装并连接Redis

首先 我们访问地址 https://github.com/tporadowski/redis/releases 这里 我们根据自己的系统选择下载 我是 Windows msi安装包 下载下来之后 我们双击它运行 然后下一步 然后这里要同意它的条款 反正不同意不给用嘛 就这么简单 勾选之后 选择下一步 这里 我们要选一下他的安装…

探讨前端技术的未来:创新与适应的必要性

一、引言 2023年,IT圈似乎被一种悲观的论调所笼罩,那就是“Java 已死、前端已凉”。然而,真相是否如此呢?本文将围绕这一主题,探讨前端的现状和未来发展趋势。 二、为什么会出现“前端已死”的言论 这一言论的出现并…