必学的20个Excel表格操作python脚本!

示例数据 (bank_data.xlsx)

首先,我们创建一个示例的Excel文件bank_data.xlsx,并填充一些示例数据。

import pandas as pd
# 创建示例数据
data = {
'客户ID': [1, 2, 3, 4, 5],
'姓名': ['张三', '李四', '王五', '赵六', '孙七'],
'联系方式': ['13800000000', '13900000000', '13700000000', '13600000000', '13500000000'],
'账户余额': [10000.0, 20000.0, 15000.0, 30000.0, 25000.0],
'贷款类型': ['信用贷款', '房贷', '信用贷款', '车贷', '信用贷款'],
'贷款金额': [50000.0, 300000.0, 60000.0, 100000.0, 70000.0],
'利率': [5.0, 4.5, 5.2, 4.8, 5.1],
'贷款期限(年)': [3, 20, 4, 5, 3]
}
# 保存到Excel文件
df = pd.DataFrame(data)
df.to_excel('bank_data.xlsx', index=False)

请先运行上面的代码以生成示例数据文件bank_data.xlsx。

1. 读取Excel文件

使用场景:从Excel中加载数据进行后续处理。

代码解释:使用pandas.read_excel函数读取Excel文件。

示例代码:

import pandas as pd
# 读取Excel文件
df = pd.read_excel('bank_data.xlsx')
print(df.head())

2. 写入Excel文件

使用场景:将处理后的数据保存到新的Excel文件。

代码解释:使用DataFrame.to_excel方法写入Excel文件。

示例代码:

import pandas as pd
# 读取现有数据
df = pd.read_excel('bank_data.xlsx')
# 写入新的Excel文件
df.to_excel('processed_bank_data.xlsx', index=False)

3. 更新特定单元格

使用场景:修改Excel中的某个具体值。

代码解释:通过索引定位单元格并赋新值。

示例代码:

import pandas as pd
# 读取现有数据
df = pd.read_excel('bank_data.xlsx')
# 更新第一个客户的账户余额
df.at[0, '账户余额'] = 12000.0
# 保存更新后的数据
df.to_excel('updated_bank_data.xlsx', index=False)

4. 添加新的工作表

使用场景:向现有的Excel文件中添加一个新的工作表。

代码解释:使用openpyxl库来操作Excel文件。

示例代码:

from openpyxl import load_workbook
# 加载现有工作簿
wb = load_workbook('bank_data.xlsx')
# 创建新的工作表
ws = wb.create_sheet(title="新工作表")
# 保存工作簿
wb.save('bank_data_with_new_sheet.xlsx')

5. 删除工作表

使用场景:删除Excel文件中的指定工作表。

代码解释:使用openpyxl库删除工作表。

示例代码:

from openpyxl import load_workbook
# 加载现有工作簿
wb = load_workbook('bank_data.xlsx')
# 删除指定的工作表
if '新工作表' in wb.sheetnames:
del wb['新工作表']
# 保存工作簿
wb.save('bank_data_deleted_sheet.xlsx')

6. 复制工作表

使用场景:复制Excel文件中的指定工作表。

代码解释:使用openpyxl库复制工作表。

示例代码:

from openpyxl import load_workbook
# 加载现有工作簿
wb = load_workbook('bank_data.xlsx')
# 复制指定的工作表
source = wb['Sheet1']
target = wb.copy_worksheet(source)
target.title = "复制的工作表"
# 保存工作簿
wb.save('bank_data_copied_sheet.xlsx')

7. 重命名工作表

使用场景:重命名Excel文件中的指定工作表。

代码解释:使用openpyxl库重命名工作表。

示例代码:

from openpyxl import load_workbook
# 加载现有工作簿
wb = load_workbook('bank_data.xlsx')
# 重命名指定的工作表
sheet = wb['Sheet1']
sheet.title = "重命名的工作表"
# 保存工作簿
wb.save('bank_data_renamed_sheet.xlsx')

8. 查找特定值

使用场景:在Excel文件中查找特定值。

代码解释:使用pandas库查找特定值。

示例代码:

import pandas as pd
# 读取现有数据
df = pd.read_excel('bank_data.xlsx')
# 查找特定值
result = df[df['姓名'] == '张三']
print(result)

9. 筛选数据

使用场景:根据条件筛选数据。

代码解释:使用pandas库筛选数据。

示例代码:

import pandas as pd
# 读取现有数据
df = pd.read_excel('bank_data.xlsx')
# 筛选出贷款金额大于50000的数据
filtered_df = df[df['贷款金额'] > 50000]
# 打印筛选结果
print(filtered_df)

10. 排序数据

使用场景:对数据进行排序。

代码解释:使用pandas库对数据进行排序。

示例代码:

import pandas as pd
# 读取现有数据
df = pd.read_excel('bank_data.xlsx')
# 按账户余额降序排序
sorted_df = df.sort_values(by='账户余额', ascending=False)
# 打印排序结果
print(sorted_df)

11. 数据分组与汇总

使用场景:对数据进行分组并计算汇总。

代码解释:使用pandas库进行分组和汇总。

示例代码:

import pandas as pd
# 读取现有数据
df = pd.read_excel('bank_data.xlsx')
# 按贷款类型分组并计算贷款金额总和
grouped_df = df.groupby('贷款类型')['贷款金额'].sum()
# 打印分组汇总结果
print(grouped_df)

12. 合并单元格

使用场景:合并Excel文件中的多个单元格。

代码解释:使用openpyxl库合并单元格。

示例代码:

from openpyxl import load_workbook
# 加载现有工作簿
wb = load_workbook('bank_data.xlsx')
ws = wb.active
# 合并单元格A1到C1
ws.merge_cells('A1:C1')
# 保存工作簿
wb.save('bank_data_merged_cells.xlsx')

13. 设置单元格格式

使用场景:设置Excel文件中单元格的格式。

代码解释:使用openpyxl库设置单元格格式。

示例代码:

from openpyxl import load_workbook
from openpyxl.styles import Font, Alignment
# 加载现有工作簿
wb = load_workbook('bank_data.xlsx')
ws = wb.active
# 设置A1单元格的字体和对齐方式
cell = ws['A1']
cell.font = Font(bold=True, color="FF0000")
cell.alignment = Alignment(horizontal='center', vertical='center')
# 保存工作簿
wb.save('bank_data_formatted_cell.xlsx')

14. 插入图表

使用场景:在Excel文件中插入图表。

代码解释:使用openpyxl库插入图表。

示例代码:

import pandas as pd
from openpyxl import load_workbook
from openpyxl.chart import BarChart, Reference
# 读取现有数据
df = pd.read_excel('bank_data.xlsx')
# 保存到临时文件
df.to_excel('temp_bank_data.xlsx', index=False)
# 加载现有工作簿
wb = load_workbook('temp_bank_data.xlsx')
ws = wb.active
# 创建柱状图
chart = BarChart()
data = Reference(ws, min_col=4, min_row=1, max_row=len(df) + 1, max_col=4)
categories = Reference(ws, min_col=1, min_row=2, max_row=len(df) + 1)
chart.add_data(data, titles_from_data=True)
chart.set_categories(categories)
chart.title = "账户余额柱状图"
ws.add_chart(chart, "F1")
# 保存工作簿
wb.save('bank_data_with_chart.xlsx')

15. 计算总和、平均值等

使用场景:计算数据的总和、平均值等统计信息。

代码解释:使用pandas库计算统计信息。

示例代码:

import pandas as pd
# 读取现有数据
df = pd.read_excel('bank_data.xlsx')
# 计算账户余额的总和和平均值
total_balance = df['账户余额'].sum()
average_balance = df['账户余额'].mean()
# 打印结果
print(f"账户余额总和: {total_balance}")
print(f"账户余额平均值: {average_balance}")

16. 使用条件格式

使用场景:根据条件设置单元格格式。

代码解释:使用openpyxl库设置条件格式。

示例代码:

from openpyxl import load_workbook
from openpyxl.formatting.rule import CellIsRule
from openpyxl.styles import PatternFill
# 加载现有工作簿
wb = load_workbook('bank_data.xlsx')
ws = wb.active
# 定义条件格式规则
red_fill = PatternFill(start_color="FF0000", end_color="FF0000", fill_type="solid")
rule = CellIsRule(operator='lessThan', formula=['15000'], fill=red_fill)
# 应用条件格式
ws.conditional_formatting.add('D2:D6', rule)
# 保存工作簿
wb.save('bank_data_conditional_format.xlsx')

17. 拆分合并的单元格

使用场景:拆分Excel文件中已经合并的单元格。

代码解释:使用openpyxl库拆分合并的单元格。

示例代码:

from openpyxl import load_workbook
# 加载现有工作簿
wb = load_workbook('bank_data.xlsx')
ws = wb.active
# 拆分A1到C1的合并单元格
ws.unmerge_cells('A1:C1')
# 保存工作簿
wb.save('bank_data_unmerged_cells.xlsx')

18. 清除内容或样式

使用场景:清除Excel文件中单元格的内容或样式。

代码解释:使用openpyxl库清除内容或样式。

示例代码:

from openpyxl import load_workbook
# 加载现有工作簿
wb = load_workbook('bank_data.xlsx')
ws = wb.active
# 清除A1单元格的内容
ws['A1'].value = None
# 清除A1单元格的样式
ws['A1'].font = None
ws['A1'].fill = None
ws['A1'].border = None
ws['A1'].alignment = None
ws['A1'].number_format = None
ws['A1'].protection = None
# 保存工作簿
wb.save('bank_data_cleared_content_and_style.xlsx')

19. 自动调整列宽

使用场景:自动调整Excel文件中列的宽度。

代码解释:使用openpyxl库自动调整列宽。

示例代码:

from openpyxl import load_workbook
# 加载现有工作簿
wb = load_workbook('bank_data.xlsx')
ws = wb.active
# 自动调整所有列的宽度
for col in ws.columns:
max_length = 0
column = col[0].column_letter  # 获取列字母
for cell in col:
try:
if len(str(cell.value)) > max_length:
max_length = len(cell.value)
except:
pass
adjusted_width = (max_length + 2)
ws.column_dimensions[column].width = adjusted_width
# 保存工作簿
wb.save('bank_data_auto_adjusted_columns.xlsx')

20. 保存文件

使用场景:保存处理后的Excel文件。

代码解释:使用pandas库保存处理后的数据。

示例代码:

import pandas as pd
# 读取现有数据
df = pd.read_excel('bank_data.xlsx')
# 保存处理后的数据
df.to_excel('final_processed_bank_data.xlsx', index=False)

关于Python技能储备!

如果你是准备学习Python或者正在学习(想通过Python兼职),下面这些你应该能用得上:
【点击这里】领取!
包括:激活码+安装包、Python web开发,Python爬虫,Python数据分析,人工智能、自动化办公等学习教程。带你从零基础系统性的学好Python!
Python所有方向的学习路线图,清楚各个方向要学什么东西
100多节Python课程视频,涵盖必备基础、爬虫和数据分析
100多个Python实战案例,学习不再是只会理论
华为出品独家Python漫画教程,手机也能学习
历年互联网企业Python面试真题,复习时非常方便
****

在这里插入图片描述

在这里插入图片描述

以上就是本次分享的全部内容。我们下期见~

End

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

get请求(豆瓣电影第一页爬取)

目录 (一)需要的python库 import urllib.request import urllib.parse (二)找到url和headers url headers (三)创建一个请求对象和返回一个响应对象 创建一个请求对象 返回一个响应对象 &#xff08…

【网络篇】计算机网络——网络层详述(笔记)

目录 一、网络层 1. 网络传输流程简述 2. 转发和路由选择 3. 控制平面:SDN 方法 二、路由器工作原理 1. 概述 (1)输入端口 (2)交换结构 (3)输出端口 (4)路由选…

特步引入IPD管理,钉钉项目 Teambition 助力高效产品研发管理

中国是全球第二大消费市场,运动鞋服行业拥有着巨大的发展潜力。在过去五年时间里,随着中国产品品牌和质量的提升,体育市场的占有率格局发生了显著变化,不同于部分国际品牌巨头营收持续减弱,国产领军体育运动品牌「特步…

(C/C++)文件

目录 1. 为什么使用文件 2. 什么是文件 2.1 程序文件 2.2 数据文件 3. 文件的打开和关闭 3.1 文件指针 3.2 文件的打开和关闭 4. 文件的顺序读写 fputc fgetc fputs fgets fprintf fscanf fwrite fread sprintf和sscanf snprintf ​编辑 4对比一组函数(prin…

Linux驱动编程 - RTC子系统

目录 简介: 一、代码分析 1、RTC子系统初始化 2、注册RTC设备驱动 2.1 rtc_dev_prepare(rtc) 3、总结 二、ds1302 驱动分析 三、rtc设置和测试工具 1、date读/写系统时间 2、hwclock读/写RTC 简介: Linux中RTC设备驱动是一个标准的字符设备驱动&…

ZBrush和3D-Coat各自的优缺点是什么?

zbrush支持的模型面数高英文界面,3d coat支持的模型面数比zbrsh低有中文界 ZBrush优缺点 1、ZBrush优点: zbrush是高精度建模poser制作的首选。可搭配雕刻版使用,主要为烘焙高细节的铁图建模。因为是高精度模型,不适用于动画和游…

《Spring Cloud Config与Bus整合实现微服务配置自动刷新》

目录 Config与Bus整合自动刷新步骤1:安装RabbitMQ并启动RabbitMQ的安装 步骤2:创建项目创建Eureka Server创建config-server 步骤3: 添加依赖步骤4:Config Client步骤5:测试运行问题一问题二 总结 Config与Bus整合自动…

python创建树状图

python创建树状图 想法:如何去记住每个页面的元素,如何实现不同页面的导航,如何从主页面遍历每一个页面的每一个元素 1.创建数据结构存储 2.树状图正好是我们想要的结构体 class TreeNode:def __init__(self, data):self.data dataself.ch…

电感电容谐振原理及Matlab仿真

一、电感电容谐振原理概述 电感电容谐振(LC谐振)是一种电路现象,它发生在电感器(L)和电容器(C)通过适当的方式连接时,电路中电流和电压之间形成共振。在这种共振状态下,…

2025选题推荐|基于SpringBoot的幼儿园智能管理与监控系统的设计与实现

作者简介:Java领域优质创作者、CSDN博客专家 、CSDN内容合伙人、掘金特邀作者、阿里云博客专家、51CTO特邀作者、多年架构师设计经验、多年校企合作经验,被多个学校常年聘为校外企业导师,指导学生毕业设计并参与学生毕业答辩指导,…

测试代理IP速度的方法有哪些?

了解代理的连接速度是否快速是确保网络使用效率和体验的关键因素之一。本文来为大家如何有效地评估和测试代理IP的连接速度,以及一些实用的方法和工具,帮助用户做出明智的选择和决策。 一、如何评估代理IP的连接速度 1. 使用在线速度测试工具 为了快速…

MySQL从入门到跑路

SQL语言 SQL(Structured Query Language,结构化查询语言)是用于管理和操作关系数据库的一种标准编程语言。 SQL分类: DDL(Data Definition Language):数据定义语言,用于操作数据库、表、字段&#xff0c…

外包干了3周,技术退步太明显了。。。。。

先说一下自己的情况,大专生,21年通过校招进入武汉某软件公司,干了差不多3个星期的功能测试,那年国庆,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落!而我才在一个外包企业干了3周的功…

XCTF通关记录

XCTF通关记录 地址1、Banmabanma2、适合作为桌面一、变暗反转过后,仔细看是有个二维码的、调节然后调节亮度与对比度、得到它二、二维码解码出来之后1 、首先想到的是ASCII码,但是结果好像不对2、然后去搜索这是个啥 3、心仪的公司 地址 xtcf&#xff1…

uniapp,获取头部高度

头部自定义时候&#xff0c;设置获取安全区域&#xff0c;可以用 uni.getSystemInfoSync();接口。 <view class"statusBar" :style"{height:statusBarHeightpx}"> let SYSuni.getSystemInfoSync(); let statusBarHeightref(SYS.statusBarHeight) …

Java基于SSM微信小程序物流仓库管理系统设计与实现(lw+数据库+讲解等)

选题背景 随着社会的发展&#xff0c;社会的方方面面都在利用信息化时代的优势。互联网的优势和普及使得各种系统的开发成为必需。 本文以实际运用为开发背景&#xff0c;运用软件工程原理和开发方法&#xff0c;它主要是采用java语言技术和mysql数据库来完成对系统的设计。整个…

webm格式怎么转换成mp4?几个操作简单的视频格式转换方法

webm格式怎么转换成mp4&#xff1f;webm&#xff0c;一种由Google推出的开源视频格式&#xff0c;以其高效的压缩率和流媒体传输能力而备受青睐。它特别适用于网络视频播放&#xff0c;能够在保证视频质量的同时&#xff0c;大大节省带宽和存储空间。然而&#xff0c;尽管webm格…

Selenium打开外部应用程序的弹窗处理

问题 selenium自动化操作页面跳转到外部应用程序进行下载等操作&#xff0c;各种窗口处理方式无法解决 原因 该窗口属于浏览器窗口&#xff0c;与访问页面无关&#xff08;已经脱离页面操作层面&#xff09; 解决 selenium启动浏览器时&#xff0c;对浏览器进行相关窗口设…

RDD优化:缓存和checkpoint机制、数据共享(广播变量、累加器)、RDD的依赖关系、shuffle过程、并行度说明

文章目录 1. 缓存和checkpoint机制1.1 缓存使用1.2 checkpoint1.3 缓存和checkpoint的区别 2. 数据共享2.1 广播变量2.2 累加器 3. RDD依赖关系4.shuffle过程4.1 shuffle介绍4.2 spark计算要尽量避免shuffle 5. 并行度 1. 缓存和checkpoint机制 缓存和checkpoint也叫作rdd的持…

SAM应用:医学图像和视频中的任何内容分割中的基准测试与部署

医学图像和视频中的任何内容分割&#xff1a;基准测试与部署 目录 摘要&#xff1a;一、引言1.1 SAM2 在医学图像和视频中的应用 二.结果2.1 数据集和评估协议2.2 二维图像分割的评估结果 三 讨论四 局限性和未来的工作五、方法5.1数据来源和预处理5.2 微调协议5.3 评估指标 总…