文章目录
一、Python 操作 Excel 的常用库1. 使用第三方库 openpyxl2. 使用第三方库 xlrd 和 xlwt3. 使用 pandas 库 二、Python 操作 excel 的 10 个常用方法1. 读取 Excel 文件2. 写入 Excel 文件3. 插入行或列4. 删除行或列5. 修改单元格值6. 查找单元格值7. 排序数据8. 合并数据9. 分组数据10. 计算数据统计量Python 是一种功能强大的编程语言,可以用于许多任务,包括处理 Excel 文件。操作 Excel 文件可以帮助您在办公室中自动化许多任务,从而提高生产力。下面西红柿将详细介绍,使用 Python 操作 Excel 的小技巧。
一、Python 操作 Excel 的常用库
小伙伴你好,在开始操作 Excel 之前,你需要安装 Python 和一些相关库。可以使用 pip 安装以下库,或者使用专业的 python 客户端:pycharm,快速安装 python 和相关库。
Pycharm 相关操作介绍,详见本专栏第二篇文章。
pandas:用于处理 Excel 文件和数据openpyxl:用于读取和写入 Excel 文件xlrd:用于读取 Excel 文件xlwt:用于写入 Excel 文件本文收录于 《100 天精通 Python 专栏 - 快速入门到黑科技》,是由 CSDN 内容合伙人丨全站排名 Top 4 的硬核博主 不吃西红柿 倾力打造,分基础知识篇和黑科技应用两大部分,欢迎订阅本专栏,订阅后可私聊进 Python 全栈 VIP 交流群(问题解答、互相帮助)还可领取 20GPython 视频和 100 本互联网行业电子书。
基础知识篇以理论知识为主,旨在帮助没有语言基础的小伙伴,学习我整理成体系的精华知识,快速入门构建起知识框架;黑科技应用篇以实战为主,包括数据分析、机器学习、计算机视觉、自然语言处理、数据可视化等等,让你真的会用 Python 解决实际问题。学习路径指引 | 专栏定位 | 适宜人群 |
---|---|---|
体系化学习丨 100 天精通 Python 专栏 | 快速入门 | 没有语言基础,精华学习,快速掌握 |
黑科技实战丨 100 天精通 Python 专栏 | 玩转技术 | 有一定的基础,学以致用 |
CSDN x 信息技术智库社区 | 交流互助 | 你不是一个人在编程!! |
1. 使用第三方库 openpyxl
openpyxl 是一个用于读写 Excel 2010 xlsx/xlsm/xltx/xltm 文件的 Python 库。它可以读取和写入 Excel 文件,支持多个工作表、图表等。
示例代码:
import openpyxl# 打开 Excel 文件workbook = openpyxl.load_workbook('example.xlsx')# 获取所有工作表名sheet_names = workbook.sheetnamesprint(sheet_names)# 获取指定工作表sheet = workbook['Sheet1']# 获取单元格数据cell = sheet['A1']print(cell.value)# 修改单元格数据sheet['A1'] = 'Hello World'# 保存 Excel 文件workbook.save('example.xlsx')
2. 使用第三方库 xlrd 和 xlwt
xlrd 和 xlwt 分别用于读取和写入 Excel 文件,支持多个工作表,但不支持 Excel 2010 xlsx/xlsm/xltx/xltm 格式。
示例代码:
import xlrdimport xlwt# 打开 Excel 文件workbook = xlrd.open_workbook('example.xls')# 获取所有工作表名sheet_names = workbook.sheet_names()print(sheet_names)# 获取指定工作表sheet = workbook.sheet_by_name('Sheet1')# 获取单元格数据cell = sheet.cell(0, 0)print(cell.value)# 修改单元格数据new_workbook = xlwt.Workbook()new_sheet = new_workbook.add_sheet('Sheet1')new_sheet.write(0, 0, 'Hello World')new_workbook.save('example.xls')
3. 使用 pandas 库
pandas 是一个用于数据分析的 Python 库,也可以用于读写 Excel 文件,支持多个工作表,但不支持 Excel 2010 xlsx/xlsm/xltx/xltm 格式。
示例代码:
import pandas as pd# 读取 Excel 文件df = pd.read_excel('example.xls', sheet_name='Sheet1')# 获取单元格数据value = df.iloc[0, 0]print(value)# 修改单元格数据df.iloc[0, 0] = 'Hello World'df.to_excel('example.xls', index=False)
二、Python 操作 excel 的 10 个常用方法
1. 读取 Excel 文件
使用 pandas 库中的 read_excel()函数可以读取 Excel 文件。示例代码如下:
import pandas as pd# 读取Excel文件df = pd.read_excel('example.xlsx')
2. 写入 Excel 文件
使用 pandas 库中的 to_excel()函数可以将数据写入 Excel 文件。示例代码如下:
import pandas as pd# 将数据写入Excel文件df.to_excel('example.xlsx', index=False)
3. 插入行或列
使用 pandas 库中的 append()函数可以插入行或列。示例代码如下:
import pandas as pd# 插入行df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})df = df.append({'A': 4, 'B': 7}, ignore_index=True)# 插入列df['C'] = [7, 8, 9, 10]
4. 删除行或列
使用 pandas 库中的 drop()函数可以删除行或列。示例代码如下:
import pandas as pd# 删除行df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})df = df.drop(1)# 删除列df = df.drop('B', axis=1)
5. 修改单元格值
使用 pandas 库中的 at()函数或.iat()函数可以修改单元格的值。示例代码如下:
import pandas as pd# 修改单元格值df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})df.at[1, 'B'] = 7# 使用.iat()函数修改单元格值df.iat[0, 1] = 8
6. 查找单元格值
使用 pandas 库中的.loc()函数或.iloc()函数可以查找单元格的值。示例代码如下:
import pandas as pd# 查找单元格值df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})value = df.loc[1, 'B']# 使用.iloc()函数查找单元格值value = df.iloc[1, 1]
7. 排序数据
使用 pandas 库中的 sort_values()函数可以对数据进行排序。示例代码如下:
import pandas as pd# 对数据进行排序df = pd.DataFrame({'A': [1, 3, 2], 'B': [4, 6, 5]})df = df.sort_values(by='A')
8. 合并数据
使用 pandas 库中的 merge()函数可以合并数据。示例代码如下:
import pandas as pd# 合并数据df1 = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})df2 = pd.DataFrame({'A': [1, 2, 4], 'C': [7, 8, 9]})df = pd.merge(df1, df2, on='A')
9. 分组数据
使用 pandas 库中的 groupby()函数可以对数据进行分组。示例代码如下:
import pandas as pd# 分组数据df = pd.DataFrame({'A': ['foo', 'bar', 'foo', 'bar', 'foo', 'bar', 'foo', 'foo'], 'B': ['one', 'one', 'two', 'three', 'two', 'two', 'one', 'three'], 'C': [1, 2, 3, 4, 5, 6, 7, 8]})grouped = df.groupby(['A', 'B'])
10. 计算数据统计量
使用 pandas 库中的 describe()函数可以计算数据的统计量。示例代码如下:
import pandas as pd# 计算数据统计量df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})desc = df.describe()
如果文章有用,请在评论区大声鼓励我:人生苦短,有你便甜