Python | 分享8个Excel自动化脚本,一定有你用得上的!

在这里插入图片描述

本文将介绍8个常用的Python脚本,帮助你轻松应对Excel的日常操作。那话不多说,开始吧!

1. 安装所需的Python库

在开始之前,我们需要安装一些Python库来操作Excel文件。以下是需要安装的库:

  • pandas:用于数据处理和分析

  • openpyxl:读取和写入Excel xlsx/xlsm/xltx/xltm文件

  • xlrdxlwt:用于读取和写入xls格式的Excel文件

你可以通过以下命令安装这些库:

pip install pandas openpyxl xlrd xlwt   

2. 批量修改文件名

场景描述

假设我们有一个文件夹,里面有许多Excel文件,现在需要将这些文件名统一修改为某种格式,以便管理和查找。

详细步骤

  1. 导入必要的库

  2. 获取文件夹中的所有文件

  3. 遍历每个文件,修改文件名

代码示例

import os# 文件夹路径
folder_path = 'your_folder_path'# 修改文件名的函数
def rename_files(folder_path):for filename in os.listdir(folder_path):if filename.endswith('.xlsx') or filename.endswith('.xls'):new_name = 'new_' + filenameos.rename(os.path.join(folder_path, filename), os.path.join(folder_path, new_name))print("文件名修改完成!")# 执行函数
rename_files(folder_path)

3. 合并多个Excel文件的数据

场景描述

我们有多个Excel文件,每个文件中都有相同格式的数据表,现在需要将这些数据合并到一个总的Excel文件中。

详细步骤

  1. 导入必要的库

  2. 获取文件夹中的所有Excel文件

  3. 读取每个文件中的数据并合并

  4. 将合并后的数据写入一个新的Excel文件

代码示例

import pandas as pd
import os# 文件夹路径
folder_path = 'your_folder_path'# 存储合并数据的列表
merged_data = []# 合并Excel文件的函数
def merge_excel_files(folder_path):for filename in os.listdir(folder_path):if filename.endswith('.xlsx') or filename.endswith('.xls'):file_path = os.path.join(folder_path, filename)data = pd.read_excel(file_path)merged_data.append(data)# 合并所有数据merged_df = pd.concat(merged_data, ignore_index=True)merged_df.to_excel(os.path.join(folder_path, 'merged_data.xlsx'), index=False)print("数据合并完成!")# 执行函数
merge_excel_files(folder_path)

4. 读取特定文件夹中的所有Excel文件

场景描述

假设我们有一个文件夹,里面存放了多个Excel文件,现在需要读取每一个文件并进行一定的处理。

详细步骤

  1. 导入必要的库

  2. 获取文件夹中的所有Excel文件

  3. 定义处理每个文件的操作

代码示例

import pandas as pd
import os# 文件夹路径
folder_path = 'your_folder_path'# 处理Excel文件的函数
def process_excel_files(folder_path):for filename in os.listdir(folder_path):if filename.endswith('.xlsx') or filename.endswith('.xls'):file_path = os.path.join(folder_path, filename)df = pd.read_excel(file_path)# 在这里进行你的处理操作,例如打印数据框的前5行print(f"Processing {filename}")print(df.head())# 执行函数
process_excel_files(folder_path)

5. 创建新的Excel文件并写入数据

场景描述

假设我们需要生成一份新的Excel报表,里面包含一些统计数据,并将这份报表保存到指定的文件夹中。

详细步骤

  1. 导入必要的库

  2. 创建一个DataFrame,填充数据

  3. 将DataFrame写入新的Excel文件

代码示例

import pandas as pd# 创建一个DataFrame
data = {'Name': ['Alice', 'Bob', 'Charlie'],'Age': [25, 30, 35],'City': ['New York', 'Chicago', 'San Francisco']
}
df = pd.DataFrame(data)# 将DataFrame写入Excel文件
output_path = 'your_folder_path/new_report.xlsx'
df.to_excel(output_path, index=False)
print("新的Excel文件已创建并写入数据!")

6. 根据特定条件筛选数据并导出

场景描述

假设我们有一个大的Excel文件,里面包含多个月的销售记录,我们需要筛选出某个月份的数据并导出。

详细步骤

  1. 导入必要的库

  2. 读取Excel文件

  3. 根据条件筛选数据

  4. 将筛选后的数据写入新的Excel文件

代码示例

import pandas as pd# 读取Excel文件
file_path = 'your_folder_path/sales_data.xlsx'
df = pd.read_excel(file_path)# 根据条件筛选数据(筛选月份为2023年5月的记录)
filtered_df = df[df['Date'].dt.month == 5]# 将筛选后的数据写入新的Excel文件
output_path = 'your_folder_path/filtered_data.xlsx'
filtered_df.to_excel(output_path, index=False)
print("筛选的数据已导出!")

7. 对数据进行排序并保存

场景描述

比如,我们有一份员工工资表,需要按工资从高到低进行排序,并保存结果。

详细步骤

  1. 导入必要的库

  2. 读取Excel文件

  3. 对数据进行排序

  4. 将排序后的数据写入新的Excel文件

代码示例

import pandas as pd# 读取Excel文件
file_path = 'your_folder_path/salary_data.xlsx'
df = pd.read_excel(file_path)# 对数据进行排序(按工资从高到低)
sorted_df = df.sort_values(by='Salary', ascending=False)# 将排序后的数据写入新的Excel文件
output_path = 'your_folder_path/sorted_salary_data.xlsx'
sorted_df.to_excel(output_path, index=False)
print("数据已排序并保存!")

8. 批量处理Excel数据中的格式问题

场景描述

假设我们有一个文件夹,里面有多个Excel文件,每个文件中都可能存在一些多余的空行,我们需要批量删除这些空行。

详细步骤

  1. 导入必要的库

  2. 获取文件夹中的所有Excel文件

  3. 读取每个文件并删除空行

  4. 将处理后的数据重新保存

代码示例

import pandas as pd
import os# 文件夹路径
folder_path = 'your_folder_path'# 删除空行的函数
def remove_empty_rows(folder_path):for filename in os.listdir(folder_path):if filename.endswith('.xlsx') or filename.endswith('.xls'):file_path = os.path.join(folder_path, filename)df = pd.read_excel(file_path)# 删除空行df.dropna(how='all', inplace=True)# 保存处理后的文件df.to_excel(file_path, index=False)print("空行已删除并保存!")# 执行函数
remove_empty_rows(folder_path)

9. 生成数据透视表和图表

数据透视表和图表是Excel中常用的分析工具,以下脚本示范了如何在Python中生成数据透视表和图表。

场景描述

假设我们有一份销售数据表,现在需要生成一个数据透视表来总结每个月的销售情况,并绘制相应的图表。

详细步骤

  1. 导入必要的库

  2. 读取Excel文件

  3. 创建数据透视表

  4. 绘制图表

代码示例

import pandas as pd
import matplotlib.pyplot as plt# 读取Excel文件
file_path = 'your_folder_path/sales_data.xlsx'
df = pd.read_excel(file_path)# 创建数据透视表(按月份汇总销售额)
pivot_table = pd.pivot_table(df, values='Sales', index='Month', aggfunc='sum')# 绘制柱状图
pivot_table.plot(kind='bar')
plt.xlabel('Month')
plt.ylabel('Total Sales')
plt.title('Monthly Sales Summary')
plt.savefig('your_folder_path/pivot_table_chart.png')
plt.show()
print("数据透视表和图表已生成!")

10. 结论

通过以上8个Python脚本,我们可以极大地简化和自动化日常的Excel操作。从批量修改文件名、合并数据,到格式处理和数据分析,Python都能帮我们轻松应对。

希望这篇文章能启发你在实际工作中更多地应用Python,提高效率。如果你有任何问题或建议,欢迎留言交流。

在这里插入图片描述
由于文章篇幅有限,文档资料内容较多,需要这些文档的朋友,可以加小助手微信免费获取,【保证100%免费】,中国人不骗中国人。

                                     **(扫码立即免费领取)**

全套Python学习资料分享:

一、Python所有方向的学习路线

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

二、学习软件

工欲善其事必先利其器。学习Python常用的开发软件都在这里了,还有环境配置的教程,给大家节省了很多时间。

三、全套PDF电子书

书籍的好处就在于权威和体系健全,刚开始学习的时候你可以只看视频或者听某个人讲课,但等你学完之后,你觉得你掌握了,这时候建议还是得去看一下书籍,看权威技术书籍也是每个程序员必经之路。

四、入门学习视频全套

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

五、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

Java 实验七:集合的使用

一、实验目的 1、理解Java集合框架的特点、接口与类之间的关系; 2、掌握Java集合框架的List接口,以及List接口的重要实现类LinkedList、ArrayList; 3、掌握Java集合框架的Set、SortedSet接口,以及重要实现类HashSet 与 TreeSet…

活动回顾 | AutoMQ 联合 GreptimeDB 共同探讨新能源汽车数据基础设施

7 月 13 日,AutoMQ 携手 GreptimeDB“新能源汽车数据基础设施” 主题 meetup 在上海圆满落幕。本次论坛多角度探讨如何通过创新的数据管理和存储架构,提升汽车系统的性能、安全性和可靠性,从而驱动行业的持续发展和创新,涵盖 Auto…

C#字符串基本操作

1、代码 //1、创建字符串(获取长度)string str "Hello, World!";Console.WriteLine($"string:{str},length:{str.Length}");//2、字符串连接string str1 "Hello, ";string str2 "World!";Console.WriteLine…

简易ELK搭建

ELK搭建 1. elasticsearch1.1 下载1.2 ES配置1.3 启动ES1.4 开启权限认证1.5 IK分词器配置(非必须) 2. kibana2.1 下载2.2 配置2.3 启动kibana 3. logstash3.1 下载3.2 配置3.3 启动logstash 4. springboot推送数据 ELK包括elasticsearch、logstash、kib…

【初阶数据结构】掌握二叉树遍历技巧与信息求解:深入解析四种遍历方法及树的结构与统计分析

初阶数据结构相关知识点可以通过点击以下链接进行学习一起加油!时间与空间复杂度的深度剖析深入解析顺序表:探索底层逻辑深入解析单链表:探索底层逻辑深入解析带头双向循环链表:探索底层逻辑深入解析栈:探索底层逻辑深入解析队列:探索底层逻辑深入解析循环队列:探索…

25.dom创建、获取、插入、替换、删除、克隆节点

dom节点 -构成页面的每个组成部分(标签 属性 文字 注释) 节点(所有的文本内容 包括换行和空格) 元素节点(页面上的每个标签) 属性节点(标签上的属性) 注释节点(所有的注释内容包括注释内的空格换行) 创建节点 创建文本节点: var 变量名docume…

Sui基金会公布第一批RFP资助获得者名单

Sui资助计划已经从RFP申请者中选出了第一批受资助名单,这一举措标志着我们在促进Sui生态创新和增长方面迈出的重要一步。RFP计划旨在解决生态内的特定需求,为与我们战略目标一致的项目提供有针对性的支持。 为非技术者打造兼容Kiosk的启动平台 现存问题…

更新:彩虹云商城系统 自助下单免授权无后门源码(修复完整版)

源码简介: 最新更新彩虹云商城系统,自助下单免授权无后门源码(修复完整版) 自助下单彩虹云商城系统。这玩意儿不简单,它是高效稳定的电商平台!免授权源码版本,灵活方便。源码是用PHP语言写的。…

[CP_AUTOSAR]_分层软件架构_接口之内存模块的交互介绍

目录 1、Memory service modules 特征及差异2、Memory 如何通信交互2.1、Memory通信架构2.2、大块的NV数据管理 3、Memory 软件接口4、内存抽象接口的实现3.1、情况1:只使用了一种NV设备类型3.2、情况2:使用了2种或更多的NV设备 4、结论 在前面 关于接口…

2. KNN分类算法与鸢尾花分类任务

鸢尾花分类任务 1. 鸢尾花分类步骤1.1 分析问题,搞定输入和输出1.2 每个类别各采集50朵花1.3 选择一种算法,完成输入到输出的映射1.4 第四步:部署,集成 2. KNN算法原理2.1 基本概念2.2 核心理念2.3 训练2.4 推理流程 3. 使用 skle…

路由数据获取及封装方法

数据库设计 自联表 定义tree字段 public class LabelValue{public int label { get; set; }public string? value { get; set; }public List<LabelValue> children { get; set; }}获取路由方法 public Response<object> getMenuList() {Response<object>…

spark 事件总线listenerBus

事件总线基本流程 图片来源&#xff1a;https://blog.csdn.net/sinat_26781639/article/details/105012302 LiveListenerBus创建 在sparkContext初始化中创建LiveListenerBus对象。 主要变量有两个 queues&#xff1a;事件队列&#xff0c;里面存放四个队列&#xff0c;每…

零基础学习Python(三)

1. 多重继承 一个子类可以继承多个父类&#xff0c;这与一些编程语言的规则不通。 如果多个父类中有同名的变量和方法&#xff0c;子类访问的顺序是按照继承时小括号里书写的顺序进行访问的。 可以用issubclass(B, A)方法判断B是否为A的子类。 2. 绑定 类中的方法通过参数s…

Unity 导入MRTK,使用URP 升级材质,MRTK的材质还是洋红色

控制台显示信息 ToggleBackground material was not upgraded. There’s no upgrader to convert Mixed Reality Toolkit/Standard shader to selected pipeline UnityEditor.Rendering.Universal.UniversalRenderPipelineMaterialUpgrader:UpgradeProjectMaterials() (at 点击…

Windows 电脑部署 ollama3 并安装模型

Windows 电脑部署 ollama3 并安装模型 部署中为了尽可能减少对本地环境的污染&#xff0c;使用 Docker 安装&#xff01; github: https://github.com/ollama/ollama 准备部署文件 version: 3.8services:ollama:volumes:- ./models:/root/.ollama # 将本地文件夹挂载到容器中…

window11 部署llama.cpp并运行Qwen2-0.5B-Instruct-GGUF

吾名爱妃&#xff0c;性好静亦好动。好编程&#xff0c;常沉浸于代码之世界&#xff0c;思维纵横&#xff0c;力求逻辑之严密&#xff0c;算法之精妙。亦爱篮球&#xff0c;驰骋球场&#xff0c;尽享挥洒汗水之乐。且喜跑步&#xff0c;尤钟马拉松&#xff0c;长途奔袭&#xf…

AWS与其他友商云相比的优势

亚马逊网络服务(AWS)作为全球领先的云计算平台,在激烈的市场竞争中一直保持着领先地位。尽管其他云服务提供商如微软Azure和谷歌云平台也在不断发展,但AWS仍然拥有一些显著的优势。本文将结合九河云的分析探讨AWS相较于其他友商云服务的主要优势。 1. 全面的服务生态系统 AWS…

spring boot(学习笔记第十三课)

spring boot(学习笔记第十三课) 传统后端开发模式和前后端分离模式的不同&#xff0c;Spring Security的logout&#xff0c;invalidateHttpSession不好用&#xff0c;bug&#xff1f; 学习内容&#xff1a; 传统后端开发模式 vs 前后端分离模式Spring Security的logout功能inv…

初学者如何通过建立个人博客盈利

建立个人博客不仅能让你在网上表达自己&#xff0c;还能与他人建立联系。通过博客&#xff0c;可以创建自己的空间&#xff0c;分享想法和故事&#xff0c;并与有相似兴趣和经历的人交流。 本文将向你展示如何通过建立个人博客来实现盈利。你将学习如何选择博客主题、挑选合适…

[C/C++入门][ifelse]19、制作一个简单计算器

简单的方法 我们将假设用户输入两个数字和一个运算符&#xff08;、-、*、/&#xff09;&#xff0c;然后根据所选的运算符执行相应的操作。 #include <iostream> using namespace std;int main() {double num1, num2;char op;cout << "输入 (,-,*,/): &quo…