一文分享20个必学的Excel表格操作Python脚本

 更新时间:2025年11月08日 09:04:50   作者:Python资讯站  
这篇文章主要为大家详细介绍了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)

到此这篇关于一文分享20个必学的Excel表格操作Python脚本的文章就介绍到这了,更多相关Python操作Excel表格脚本内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python可视化神器pyecharts绘制地理图表

    Python可视化神器pyecharts绘制地理图表

    这篇文章主要介绍了Python可视化神器pyecharts绘制地理图表,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-07-07
  • Python logging日志库空间不足问题解决

    Python logging日志库空间不足问题解决

    这篇文章主要介绍了Python logging日志库空间不足问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • python操作mysql数据库

    python操作mysql数据库

    本篇文章主要介绍了python操作mysql数据库的相关知识,具有很好的参考价值。下面跟着小编一起来看下吧
    2017-03-03
  • Python3实时操作处理日志文件的实现

    Python3实时操作处理日志文件的实现

    本文主要介绍了Python3实时操作处理日志文件的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • Python turtle库(绘制螺旋正方形)

    Python turtle库(绘制螺旋正方形)

    这篇文章主要介绍了Python turtle库(绘制螺旋正方形),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-07-07
  • Python 代码实现列表的最小公倍数

    Python 代码实现列表的最小公倍数

    这篇文章主要介绍了Python 代码实现列表的最小公倍数,代码实现了计算列表中元素的最小公倍数的功能,包括公式介绍,需要的朋友可以参考一下
    2021-11-11
  • 在python 不同时区之间的差值与转换方法

    在python 不同时区之间的差值与转换方法

    今天小编就为大家分享一篇在python 不同时区之间的差值与转换方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01
  • Python中文件的写入读取以及附加文字方法

    Python中文件的写入读取以及附加文字方法

    今天小编就为大家分享一篇Python中文件的写入读取以及附加文字方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01
  • python读取Excel表格文件的方法

    python读取Excel表格文件的方法

    这篇文章主要介绍了python读取Excel表格文件的方法,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-09-09
  • 使用keras实现BiLSTM+CNN+CRF文字标记NER

    使用keras实现BiLSTM+CNN+CRF文字标记NER

    这篇文章主要介绍了使用keras实现BiLSTM+CNN+CRF文字标记NER,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06

最新评论