python自动化入门 | 如何用Python自动化处理Excel表格

Excel表格基础知识

Excel表格可以帮助用户创建、编辑、格式化和计算数据,并生成各种图表和报表。Excel表格通常用于商业、金融、科学、教育等领域。

图片

Excel表格的常用操作

Excel表格的常用操作包括插入、删除、移动、复制、粘贴、排序和筛选、图表等。这些操作可以帮助用户快速有效地处理数据,并生成各种报表和图表。

Excel表格的文件格式

Excel表格的文件格式有多种,常见的有xls、xlsx、xlsm、xlsb等。其中,xls格式是Excel 97-2003所使用的二进制格式,而xlsx格式是Excel 2007及以上版本所使用的XML格式。xlsm格式与xlsx格式类似,但支持宏和VBA代码。xlsb格式是一种二进制格式,通常用于处理大型数据集。

Python自动化处理Excel表格

在Python中,我们可以使用pandas和openpyxl等库来自动化处理Excel表格。

pandas库

pandas是一个开源的数据分析库,具有高效、灵活、易用等特点。它可以帮助用户处理各种数据类型,包括Excel表格。在pandas中,我们可以使用read_excel和to_excel等函数来读取和写入Excel表格。

示例代码
import pandas as pd# 读取Excel表格df = pd.read_excel('data.xlsx')# 处理数据# ...# 写入Excel表格df.to_excel('output.xlsx', index=False)

openpyxl库

openpyxl是一个开源的Python库,用于读取和写入Excel表格。它可以帮助用户处理各种数据类型,包括Excel表格。在openpyxl中,我们可以使用load_workbook和save_workbook等函数来读取和写入Excel表格。

示例代码
from openpyxl import load_workbook# 读取Excel表格wb = load_workbook('data.xlsx')ws = wb.active# 处理数据# ...# 写入Excel表格wb.save('output.xlsx')

Python自动化处理Excel表格的常见问题

在使用Python自动化处理Excel表格时,常见的问题包括读取数据、写入数据、格式化数据、筛选数据等。下面,我们将针对这些问题进行详细讲解。

如何读取Excel表格?

在Python中,我们可以使用pandas和openpyxl等库来读取Excel表格。其中,pandas库常用于读取较大的Excel表格,而openpyxl库常用于读取较小的Excel表格。

使用pandas读取Excel表格
import pandas as pd# 读取Excel表格df = pd.read_excel('data.xlsx')
使用openpyxl读取Excel表格
from openpyxl import load_workbook# 读取Excel表格wb = load_workbook('data.xlsx')ws = wb.active# 获取数据data = []for row in ws.iter_rows(values_only=True):    data.append(row)

如何写入Excel表格?

在Python中,我们可以使用pandas和openpyxl等库来写入Excel表格。其中,pandas库常用于写入较大的Excel表格,而openpyxl库常用于写入较小的Excel表格。

使用pandas写入Excel表格
import pandas as pd# 写入Excel表格df.to_excel('output.xlsx', index=False)
使用openpyxl写入Excel表格
from openpyxl import Workbook# 写入Excel表格wb = Workbook()ws = wb.activefor row in data:    ws.append(row)wb.save('output.xlsx')

如何格式化Excel表格?

在Python中,我们可以使用openpyxl等库来格式化Excel表格。其中,openpyxl库提供了各种格式化工具,可以帮助用户对Excel表格进行格式化。

示例代码
from openpyxl.styles import Font, Alignment# 设置字体和对齐方式font = Font(name='Arial', size=12, bold=True)alignment = Alignment(horizontal='center', vertical='center')# 格式化表头for cell in ws[1]:    cell.font = font    cell.alignment = alignment# 格式化数据for row in ws.iter_rows(min_row=2):    for cell in row:        cell.number_format = '0.00'

如何筛选Excel表格?

在Python中,我们可以使用pandas和openpyxl等库来筛选Excel表格。其中,pandas库常用于筛选较大的Excel表格,而openpyxl库常用于筛选较小的Excel表格。

使用pandas筛选Excel表格
import pandas as pd# 筛选数据df_filtered = df[df['column_name'] == 'value']
使用openpyxl筛选Excel表格
from openpyxl.utils import column_index_from_string# 筛选数据for row in ws.iter_rows(min_row=2):    if row[column_index_from_string('A')-1].value == 'value':        # 处理数据        # ...

筛选和修改数据

使用 pandas 和 openpyxl 可以方便地筛选和修改 Excel 文件中的数据。以下是一个简单的示例代码:

import pandas as pdfrom openpyxl import load_workbook# 读取 Excel 文件并加载工作表file = 'example.xlsx'workbook = load_workbook(file)sheet = workbook['Sheet1']# 将工作表中的数据读取到 pandas DataFrame 中data = sheet.valuesdf = pd.DataFrame(data, columns=['姓名', '年龄', '性别'])# 筛选出年龄大于等于 30 岁的人员信息df_filtered = df[df['年龄'] >= 30]# 将年龄小于 20 岁的人员信息删除df.drop(df[df['年龄'] < 20].index, inplace=True)# 在 DataFrame 中添加一列数据df['职业'] = ['学生', '教师', '医生']# 将修改后的 DataFrame 写入 Excel 文件with pd.ExcelWriter(file, engine='openpyxl', mode='a') as writer:    writer.book = workbook    df.to_excel(writer, sheet_name='Sheet1', index=False)

在这个代码中,先使用 openpyxl 库读取 Excel 文件并加载工作表。然后,使用 pandas 库将工作表中的数据读取到 DataFrame 中:

  • 使用条件表达式筛选出年龄大于等于 30 岁的人员信息,并将其存储在 df_filtered 变量中。
  • 使用 drop() 方法删除年龄小于 20 岁的人员信息。
  • 在 DataFrame 中添加一列职业信息。

最后将修改后的 DataFrame 写回到 Excel 文件中。

创建图表

使用 pandas 和 openpyxl 可以方便地在 Excel 文件中创建各种类型的图表。以下是一个简单的示例代码:

import pandas as pdfrom openpyxl import load_workbookfrom openpyxl.chart import BarChart, Reference# 读取 Excel文件并加载工作表file = 'example.xlsx'workbook = load_workbook(file)sheet = workbook['Sheet1']# 将工作表中的数据读取到 pandas DataFrame 中data = sheet.valuesdf = pd.DataFrame(data, columns=['姓名', '年龄', '性别'])# 创建一个柱形图并添加到 Excel 文件中chart = BarChart()chart.title = '人员年龄分布'chart.x_axis.title = '姓名'chart.y_axis.title = '年龄'xdata = Reference(sheet, min_col=1, min_row=2, max_row=len(df))ydata = Reference(sheet, min_col=2, min_row=2, max_row=len(df))chart.add_data(ydata)chart.set_categories(xdata)sheet.add_chart(chart, 'D1')# 保存 Excel 文件workbook.save(file)

在这个示例代码中,先使用 openpyxl 库读取 Excel 文件并加载工作表。然后使用 pandas 库将工作表中的数据读取到 DataFrame 中。

创建一个柱形图并将其添加到 Excel 文件中的步骤:

  • 创建一个 BarChart 对象,并设置标题、X 轴标题和 Y 轴标题。
  • 使用 Reference 方法创建一个数据范围对象,并将其指定为图表的 X 轴和 Y 轴数据。
  • 使用 add_data() 方法将 Y 轴数据添加到图表中。
  • 使用 set_categories() 方法将 X 轴数据添加到图表中。
  • 使用 add_chart() 方法将图表添加到工作表中。

Python如何学习?

今天只要你给我的文章点赞,我私藏的Python学习资料一样免费共享给你们,来看看有哪些东西。

Python学习大礼包

在这里插入图片描述

Python入门到精通背记手册

在这里插入图片描述
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

👉CSDN大礼包:《python入门&进阶学习资源包》免费分享

Python安装包

在这里插入图片描述

Python爬虫秘籍

在这里插入图片描述

Python数据分析全套资源

在这里插入图片描述
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

👉CSDN大礼包:《python入门&进阶学习资源包》免费分享

Python实现办公自动化全套教程

在这里插入图片描述

Python面试集锦和简历模板

在这里插入图片描述
在这里插入图片描述

Python副业兼职路线

在这里插入图片描述

资料领取

上述这份完整版的Python全套学习资料已经上传CSDN官方,朋友们如果需要可以微信扫描下方CSDN官方认证二维码 即可领取↓↓↓

👉CSDN大礼包:《python入门&进阶学习资源包》免费分享

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值