欢迎来到小居数码网-一家分享数码知识,生活小常识的网站,希望可以帮助到您。

当前位置:生活小常识 > 数码知识 >
优质

pythonexcel文件合并(合并excel多个工作表python)

数码知识

丁勇赫优秀作者

原创内容 来源:小居数码网 时间:2024-08-07 18:04:01 阅读() 收藏:41 分享:53

导读:您正在阅读的是关于【数码知识】的问题,本文由科普作家协会,生活小能手,著名生活达人等整理监督编写。本文有917个文字,大小约为4KB,预计阅读时间3分钟。

Officetouch:办公如此轻松

合并excel多个工作表python

主要内容: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 pddf = 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相信只要大家抱着解决工作和生活问题的决心,不久后我们就能成为职场高手。

上面就是小居数码小编今天给大家介绍的关于(合并excel多个工作表python)的全部内容,希望可以帮助到你,想了解更多关于数码知识的问题,欢迎关注我们,并收藏,转发,分享。

94%的朋友还想知道的:

(485)个朋友认为回复得到帮助。

部分文章信息来源于以及网友投稿,转载请说明出处。

本文标题:pythonexcel文件合并(合并excel多个工作表python):http://sjzlt.cn/shuma/153436.html

猜你喜欢