首页 > 编程语言 ># yyds干货盘点 # 盘点一个Python自动化办公的实战案例——批量合并Excel文件(上篇)

# yyds干货盘点 # 盘点一个Python自动化办公的实战案例——批量合并Excel文件(上篇)

时间:2023-08-14 18:06:40浏览次数:38  
标签:yyds 文件 Python Excel 代码 df1 盘点 file

大家好,我是皮皮。

一、前言

前几天在Python星耀群【维哥】问了一个Python自动化办公处理的问题,一起来看看吧。

大佬们好,请教一个Python自动化办公的问题,我有一个文件夹,里边有多个Excel文件,分别是员工8月份绩效表格,每一个表格里边都是固定的两列,分别是日期和绩效得分,如下图所示:

# yyds干货盘点 # 盘点一个Python自动化办公的实战案例——批量合并Excel文件(上篇)_Python入门

现在他想做的是把这些员工的绩效表格合并到同一个Excel表格中去,那么该怎么实现呢?

二、实现过程

这个需求其实在公众号的历史文章里边有写过好几篇,今天群里粉丝又遇到了,这里再整理下发出来,其实代码都是差不多的,只是需要修改下文件路径,代码如下所示:

import pandas as pd
import os

file_names = os.listdir("C:/Users/pdcfighting/Desktop/绩效")  # 获取目标文件夹下所有文件名
df1 = pd.DataFrame({"日期": [], "绩效得分": []})
for file in file_names:  # 遍历每个文件
    df2 = pd.read_excel("C:/Users/pdcfighting/Desktop/绩效/" + file, engine='openpyxl')
    df3 = pd.concat([df1, df2])  # 纵向拼接
    df1 = df3
    print(f"{file}已经合并!")

print(df1)
df1.to_excel("合并表格.xlsx", engine='openpyxl')

代码运行之后,可以得到预期的效果,如下图所示:

# yyds干货盘点 # 盘点一个Python自动化办公的实战案例——批量合并Excel文件(上篇)_Python自动化办公_02

顺利地解决了粉丝的问题。

这里需要注意两点,如果提示下图这个错误的话,说明你没有加入openpyxl引擎,一般不加的话,也是可以运行的,但是遇到跑不通的话,回来记得加下这个引擎,就可以解决这个问题。

# yyds干货盘点 # 盘点一个Python自动化办公的实战案例——批量合并Excel文件(上篇)_Python_03

第二点更重要,你运行的py文件,千万别和要处理的Excel放在同一个文件夹下,不然的话,就会报下图的错,而且不容易发现。

# yyds干货盘点 # 盘点一个Python自动化办公的实战案例——批量合并Excel文件(上篇)_Python自动化办公_04

相当于遍历文件的时候把py文件也读取进去了,这样肯定是会出错的。为了避免这个问题,我们下一篇文章给出一个解决办法。

三、总结

大家好,我是皮皮。这篇文章主要盘点了一个Python自动化办公Excel合并处理的问题,文中针对该问题,给出了具体的解析和代码实现,帮助粉丝顺利解决了问题。

最后感谢粉丝【维哥】提问,感谢【东哥】给出的思路和代码解析,感谢【莫生气】等人参与学习交流。

【提问补充】温馨提示,大家在群里提问的时候。可以注意下面几点:如果涉及到大文件数据,可以数据脱敏后,发点demo数据来(小文件的意思),然后贴点代码(可以复制的那种),记得发报错截图(截全)。代码不多的话,直接发代码文字即可,代码超过50行这样的话,发个.py文件就行。

# yyds干货盘点 # 盘点一个Python自动化办公的实战案例——批量合并Excel文件(上篇)_Python入门_05

标签:yyds,文件,Python,Excel,代码,df1,盘点,file
From: https://blog.51cto.com/u_13389043/7079302

相关文章

  • NET web api 利用NPOI 读取excel
    安装NPOI`[HttpPost("users/upload")]publicasyncTaskUpload(IFormFilefile){if(file==null||file.Length==0)returnthis.BadRequest("文件未来上传");varapi_result=newList<string>();//文件......
  • Luckysheet:一个纯前端的excel在线表格
    最近因为项目要求,需要在页面上添加一个在线编辑excel的功能,因此只能在网上找有没有直接用的插件,最后很幸运的是幸好找到了一个----luckysheet.   这个是从luckysheet官网上找的图片,先看下能用插件做那些效果。  这个是中文官网地址:https://mengshukeji.gitee......
  • Excel:Power Automate VS UiPath
    读取和写入差别:PowerAutomate需要通过激活Sheet来确定写入那个Sheet,VBA操作逻辑一样;而UiPath用一个写入控件就可以直接指定写入的Sheet,符合开发逻辑。 ......
  • #yyds干货盘点#node 封装 http请求
    varhttp=require("http");varurlUtil=require('url');varfile=require("./file");varquerystring=require('querystring');varHttpUtil={//get提交url,返回html数据get:function(url,success,error){......
  • python实现在excel文件中写入和追加内容
    示例代码#-*-coding:utf-8-*-"""#@Time:2023/08/1318:01#@Author:longrong.lang#@FileName:demo.py#@Software:PyCharm#@Blog:https://www.cnblogs.com/longronglang/#@Motto:Iamaslowwalker,butIneverwalkbackwards.......
  • #yyds干货盘点# LeetCode程序员面试金典:数组中的第K个最大元素
    题目:给定整数数组 nums 和整数 k,请返回数组中第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。你必须设计并实现时间复杂度为 O(n) 的算法解决此问题。 示例1:[3,2,1,5,6,4],示例 2:[3,2,3,1,2,4,5,5,6],代码实现:class......
  • #yyds干货盘点# LeetCode程序员面试金典:查找和最小的 K 对数字
    1.简述:给定两个以 非递减顺序排列 的整数数组 和  , 以及一个整数  。nums1nums2k定义一对值 ,其中第一个元素来自 ,第二个元素来自  。(u,v)nums1nums2请找到和最小的  个数对 , k(u1,v1) (u2,v2)(uk,vk) 示例1:输入:nums1=[1,7,11],nums2=[2,4,6],k=3......
  • java 生成Excel的几种方式
    Java生成Excel的几种方式ApachePOI:ApachePOI是一个流行的用于处理MicrosoftOffice文档的Java库。它提供了一组API,可以用于创建、读取和修改Excel文件。可以使用ApachePOI来创建新的Excel文件并填充数据,或者将现有的数据导出到Excel文件中。JExcelAPI:JExcelAPI是另一个用于处理E......
  • Odoo12_自定义导出excel
    1.首先按钮或者菜单出发一个后端方法返回url动作defdownload_xxx_excel(self):url='/export_xxx_excel?id={self.id}return{'type':'ir.actions.act_url','url':url,'tar......
  • #yyds干货盘点# LeetCode程序员面试金典:最短回文串
    题目:给定一个字符串 s,你可以通过在字符串前面添加字符将其转换为回文串。找到并返回可以用这种方式转换的最短回文串。 示例1:输入:s="aacecaaa"输出:"aaacecaaa"示例2:输入:s="abcd"输出:"dcbabcd"代码实现:classSolution{publicStringshortestPalindrome(Strings){......