百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT知识 > 正文

Python办公自动化-Excel合并同类项内容

liuian 2025-01-13 15:31 42 浏览

阅读本文大约需要2分钟

主要内容:Excel办公自动化

适用人群:Python初学者,办公室人员,或有志从事数据分析工作的人员

准备内容:Anaconda

摘要

今天Officetouch为大家带来关于Python办公自动化入门的知识。不知大家有没有遇到过这样的问题:需要把Excel同类项的内容进行合并(比如上图左边“工号”相同的角色合并成右边这样用逗号隔开),我们可以在Excel上安装Power Query/Power Pivot插件来解决,但是操作有点繁琐,安装一个不常用的插件不说,还不太好理解,大家可以看下这种方式:

方案1、用Power Query的方式:(想用Python自动化解决方法,直接跳到方案3)

步骤1、安装Power Query插件;

步骤2、点击数据 — 自表格/区域,上传到PQ界面;

(如果上传后数据格式不是文本,需要先改一下数据类型)

步骤3、主页 — 分组依据,分组依据如图所示;

步骤4、将List.Sum([Invoice])改为Text.Combine([Invoice]。

点击确定后,可以看到发票一列显示Error,因为文本格式是无法求和的。改公式,将List.Sum([Invoice])改为Text.Combine([Invoice], "/"),然后按回车。


方案2、在Excel上用VB编程的方式:(想用Python自动化解决方法,直接跳到方案3)

原始数据如下,A列包含重复的姓名,B列是对应的不同数量或者说型号。需要将A列数据去除重复值,并且将B列的同一个人的数量合并在一个单元格里并用逗号分开。

步骤1、将AB列的抬头,复制到CD列;

步骤2、按Alt+F11进入VBE界面;

步骤3、选择【插入】-【模块】插入一个模块;


步骤4、在模块空白处粘贴下列代码:

Sub yy()
    Dim Arr, i&, d, Myr&
    Set d = CreateObject("Scripting.Dictionary")
    [c2:d65535].Clear
    Myr = [a65536].End(xlUp).Row
    Arr = Range("a1:c" & Myr)
    For i = 2 To UBound(Arr)
        If Not d.exists(Arr(i, 1)) Then
            d(Arr(i, 1)) = Arr(i, 2)
        Else
            d(Arr(i, 1)) = d(Arr(i, 1)) & "," & Arr(i, 2)
        End If
    Next


    k = d.keys
    t = d.items


    [c2].Resize(d.Count, 1) = Application.Transpose(k)
    [d2].Resize(d.Count, 1) = Application.Transpose(t)
End Su


步骤5、返回excel界面,点击【开发工具】,插入一个按钮;

步骤6、用鼠标左键在工作表中画出一个按钮,并指定宏至刚才插入的宏;


方案3、Python办公自动化的方式:

Officetouch今天为大家分享一个最简易的方法,从这个合并同类项内容开始,我们逐步学习办公自动化。原表(person_role.xlsx)如下:

步骤1、打开Anaconda-Spyder,粘贴如下代码,运行后打开“test.xlsx”就可以看到效果了:

import pandas as pd


df = pd.read_excel("person_role.xlsx")
df["角色"]=df["角色"].astype(str) #这一步在pycharm中是必要的
df1=df.groupby(["工号","姓名"]).apply(lambda x:[",".join(x["角色"])])
col1 = ["角色"]
df2 = pd.DataFrame(df1,columns=col1)
df2.to_excel("test.xlsx",sheet_name="sheet2")

是不是很神奇?1个步骤就搞定了,用Python办公自动化确实提高了效率!

结尾语

好了,今天大家学会如何用Python实现Excel合并同类项内容了吗?是不是激起了大家学习Python办公自动化的兴趣和斗志,Officetouch相信只要大家抱着解决工作和生活问题的决心,不久后我们就能成为职场高手。

如果觉得有用的话,请帮忙点赞、关注、收藏哦,Officetouch感谢您的支持!

相关推荐

一个win10密钥能激活几台电脑

零售版的密钥只能激活一台电脑,VOL版的能够批量激活。切实而今根基上用东西的人比较多,那样比较便当,提议也能够碰运气。软件可以正确辨认用户计较机上布置的悉数office版本和windows版本,包括w...

电脑城买电脑(电脑城买电脑装了盗版系统)

不太靠谱。首先电脑城的电脑同个款式配置很凌乱,要么来个阉割版、要么来个升级版,而所谓升级往往会以次充好,为的就是让你觉得少花了钱还买到了更好的配置。其次电脑城的销售人员大部分都是那种半懂的非专业人员,...

win11很多游戏不兼容(win11不兼容的游戏)

据我们了解,Windows11系统和传奇游戏之间没有直接的冲突或不兼容问题。然而,可能有一些间接的原因导致此问题。首先,传奇游戏是一款老游戏,可能需要在Windows11系统上运行一些兼容性设置或...

华为路由器登录(华为路由器登录入口手机版)

华为路由器的登录地址是192.168.3.1,电脑/手机连接到华为路由器的网络后,在浏览器中输入192.168.3.1,就能进入登录入口。然后输入登录密码,可以进入华为路由器的设置页面。华为wifi设...

固态硬盘的缺点(固态硬盘缺点和坏处)

1.价格与容量  固态硬盘的容量和价格都要比机械硬盘贵  2.物理特性  固态硬盘无噪音,抗震动,体积小,发热量低,功耗也非常低,工作温度范围很大!固态硬盘的内部并没有任何机械活动部件,没有马达和风...

联想自带系统怎么重装(联想电脑自带系统如何重装系统)

联想电脑重装系统步骤:1、制作好U盘启动盘,然后把下载的联想win7系统iso文件直接复制到U盘的GHO目录下:2、在联想电脑上插入U盘,重启后不停按F12或Fn+F12快捷键打开启动菜单,选择U盘项...

电脑设置自动关机软件(电脑设置自动关机程序)
  • 电脑设置自动关机软件(电脑设置自动关机程序)
  • 电脑设置自动关机软件(电脑设置自动关机程序)
  • 电脑设置自动关机软件(电脑设置自动关机程序)
  • 电脑设置自动关机软件(电脑设置自动关机程序)
笔记本亮度调节快捷键(调亮笔记本电脑屏幕亮度快捷键)

在键盘最上一排“F”打头的键中,标有小太阳的就是调节亮度的快捷键。“小太阳-”是调低,“小太阳+”是调高。有些笔记本电脑直接按这个键就可以调节,有些需要同时按住Fn(一般Fn在键盘左下角,ctrl右...

手机一键还原(iphone手机一键还原)

如果你希望恢复华为手机上的一键锁屏功能,你可以按照以下步骤进行操作:1.进入设置:在你的华为手机上,打开设置应用程序。你可以在应用抽屉中找到该应用,通常是一个齿轮或者包含「设置」字样的图标。2.寻...

系统修复u盘(优盘系统修复)

1、我们在网络中,找到修复软件U盘烧录修复(PortFreeProductionProgram)v3.27,记得不需要太高级的版本,这个比较好用。  2、打开软件,出现的页面是,初始状态下,看到...

sony笔记本u盘启动快捷键(索尼笔记本u盘快速启动键)

索尼笔记本按assist按键快捷键进入u盘启动索尼笔记本进入U盘启动的步骤:1、索尼笔记本位于键盘右上角有一个ASSIST的按键,首先按这个键就可以进入vaiocare的设置。2、通过按ASSIST...

win7旗舰版密匙(正版win7旗舰版密钥)

一、Windows7旗舰版激活密钥零售版:Windows7UltimateRetail永久序列号【尝试联网激活,如果不能激活,可电话激活】[Key]:RHTBY-VWY6D-QJRJ9-JGQ...

ip怎么改地址(怎么改ip地区)
  • ip怎么改地址(怎么改ip地区)
  • ip怎么改地址(怎么改ip地区)
  • ip怎么改地址(怎么改ip地区)
  • ip怎么改地址(怎么改ip地区)
一键ghost备份还原工具绿色版硬盘版

可以的。1.打开GHOST软件,接受许可协议,点击OK。2.从图像中选择Local→Partition→,3.选择镜像文件所在的分区,找到镜像文件(winxp.gho),然后单击enter。4.显示镜...

2010office官方下载免费完整版
  • 2010office官方下载免费完整版
  • 2010office官方下载免费完整版
  • 2010office官方下载免费完整版
  • 2010office官方下载免费完整版