首页 > 其他分享 >单元格多个数据分列后添加行

单元格多个数据分列后添加行

时间:2023-12-20 17:12:03浏览次数:21  
标签:info 分列 单元格 添加 split print data newdf

单元格多个数据分列后添加行

表格中单元格包含多个数据,需要将单元格内的多个数据分列后添加到行数据。示例如下:

处理前表格:

image

目标是对选项列中分号分隔的数据进行处理,并添加行数据。

处理后表格:

image

点击查看代码
#单元格多个数据分列后添加行

import pandas as pd
import numpy as np

split_column_name = input("请输入需要分解的列名:")
split_symbol = input("请输入分列符号:")

#读取数据
data_info = pd.read_excel(r"C:/Users/lenovo/Desktop/单元格多个数据分列添加行.xlsx",
                      #sheet_name = "sheet1",
                     header = 0)
print(data_info)
#对指定列进行分列,分隔符号为“;”
#data_split_info = data_info["选项"].str.split(";",expand = True)
data_split_info = data_info[split_column_name].str.split(split_symbol,expand = True)
print(data_split_info)
print("="*20)
#对分列数据进行横向拼接
df_new = pd.DataFrame(data_split_info.to_numpy().reshape(-1, 1, order='C'),
                      columns=[0]) #横向拼接
print(df_new)
print("="*20)

#复制数据行,扩充表格
newdf = pd.DataFrame(np.repeat(data_info.values,len(data_split_info.columns),axis=0))
newdf.columns = data_info.columns
print(newdf)
print("="*20)

#插入横向拼接的分列数据
newdf.insert(loc=2,column = split_column_name+'1',value=df_new[[0]])
print(newdf)
print("="*20)

def del_null(x):
    return (x is not None)
    #return (x is not np.nan)("wp" in x)
    #("wp" in x) or 

newdf1 = newdf.loc[newdf[split_column_name+'1'].apply(del_null)]
print(newdf1)

标签:info,分列,单元格,添加,split,print,data,newdf
From: https://www.cnblogs.com/yuetianshiye/p/17917009.html

相关文章

  • 给apollo源码中添加第三方库
    一、为什么需要引用外部库bazel工程期望所有库都在工作空间中,但是实际上有些库Ubuntu提供了非常简单的安装方式,这就涉及到引入外部库步骤1:在apollo/third_party中添加包,需要如下几个文件,写法参考proj的内容,其他涉及包管理的文件可以不要。步骤2:在apollo/tools/workspace.bzl......
  • pytest + yaml 框架 -62.jenkins+allure+钉钉通知添加测试结果
    前言上一篇pytest+yaml框架-60.git+jenkins+allure+钉钉通知反馈已经实现测试结果用钉钉通知。本篇继续在钉钉通知里添加测试的汇总结果,此功能在pytest-yaml-yoyov1.5.2版本上实现。EnvironmentInjector插件在运行完用例后会生成一个summary.json文件,汇总测试结果......
  • ArgoCD 添加私有仓库
    HTTPS方式访问私有仓库ArgoCDCLI添加私有仓库#argocdrepoaddhttps://github.com/argoproj/argocd-example-apps--username<username>--password<password>dashboard添加私有仓库SSHPrivateKeyCredentialArgoCDCLI添加known_hosts#ssh-keyscan-p3......
  • 在Mapbox-gl-js中添加自定义图层
    在Mapbox-gl-js中添加自定义图层前言一、制作geojson地图二、使用Tippecanoe将geojson转换成vectortile(.pbf)文件三、使用mapbox-gl-js显示三、Mapbox-gl-js中根据矢量数据的属性过滤显示前言本文说明如何制作自定义的地图数据,并使用mapbox-gl-js进行显示一、制作geoj......
  • luckysheet 双击单元格 浮动单元格错位问题
    U1S1用luckysheet久了真的会很不幸。  问题描述(部分文字已经擦掉了):弹窗下会sheet出现双击显示异常的情况,如果只是文本框还好,解决不了还能凑合用用,直到今天我发现复制日期后,直接双击会自动带个date-picker,然后这个东西也错位,我真的是艹了。最关键是这个东西不在已经支持的......
  • zookeeper添加用户密码认证
    1、zookeeper已部署并启动 2、连接进ZK[root@localhost~]#zkCli.sh 3、权限设置#查询默认权限#可以看到默认是world:anyone就相当于无权限访问getAcl/#添加一个账号密码,账号密码可自定义addauthdigestzkadmin:zk@123#给/根目录设置权限,也可以给其他......
  • 电脑备忘录小工具怎么添加?怎么在电脑桌面添加备忘录?
    作为一名天天用电脑办公的上班族,如果你需要对某个项目或问题进入深入思考,想要快速记录想法和思路,这时候会选择什么样的记事方式呢?如果你需要记录常用的工作文字内容、工作注意事项、项目流程、待办的工作安排等,用什么样的方式记录更便捷?越来越多的职场人士抛弃纸质的记事本,而选择......
  • 在 uniapp 中为 App 添加权限告知目的
     constpermission={ //初始化状态 state:{ //处理应用程序权限请求 WRITE_EXTERNAL_STORAGE:false, ACCESS_FINE_LOCATION:false, CALL_PHONE:false, CAMERA:false, RECORD_AUDIO:false, READ_CONTACTS:false, WRITE_CONTACTS:false, /*#ifd......
  • js slice截取数组 + splice删除/添加数组数据
    varheroes=["李白",'蔡文姬','韩信','赵云','甄姬','阿珂','貂蝉','妲己'];//slice截取不改变原数组返回新的数组/*slice(开始索引,结束索引)从0开始左开右闭*/console.log(heroes.slice(1,4))//['蔡文姬',......
  • echarts柱形图给X轴坐标类目添加点击事件
    在项目中遇到这么个需求要在柱形图上的x轴添加点击事件,当点击对应x轴文字的时候要弹出模态框展示子图表根据echarts的Api给图表实例绑定点击事件myChartInstance?.on('click','xAxis.category',(params)=>{if(params.value==='其他变动成本'){set......