Python中使用openpyxl和pandas库操作 Excel 表格

在Python中,可以使用多种库来操作Excel表格,其中最常用的是openpyxl和pandas库。下面我将详细解释这两个库的使用方法:

  1. openpyxl库:

    • 安装库:使用pip install openpyxl命令安装openpyxl库。
    • 导入库:在Python脚本中,使用import openpyxl导入openpyxl库。
    • 打开Excel文件:使用openpyxl.load_workbook()函数打开Excel文件,例如:workbook = openpyxl.load_workbook('example.xlsx')。
    • 选择工作表:通过工作表名称或索引选择要操作的工作表,例如:worksheet = workbook['Sheet1']或worksheet = workbook.worksheets[0]。
    • 读取单元格数据:使用worksheet.cell(row, column).value方法读取指定单元格的数据,例如:data = worksheet.cell(1, 1).value。
    • 写入单元格数据:使用worksheet.cell(row, column).value方法写入指定单元格的数据,例如:worksheet.cell(1, 1).value = 'Hello'。
    • 保存Excel文件:使用workbook.save()方法保存对Excel文件的修改,例如:workbook.save('example.xlsx')。
  2. pandas库:

    • 安装库:使用pip install pandas命令安装pandas库。
    • 导入库:在Python脚本中,使用import pandas导入pandas库。
    • 读取Excel文件:使用pandas.read_excel()函数读取Excel文件,例如:dataframe = pandas.read_excel('example.xlsx')。
    • 数据操作:使用pandas提供的丰富功能进行数据操作,例如筛选、排序、分组、聚合等。
    • 写入Excel文件:使用dataframe.to_excel()函数将DataFrame数据写入Excel文件,例如:dataframe.to_excel('output.xlsx', index=False)。

当使用openpyxl和pandas库进行Excel表格操作时,下面是一些示例代码:

使用openpyxl库示例:

python 复制代码
import openpyxl

# 打开Excel文件
workbook = openpyxl.load_workbook('example.xlsx')

# 选择工作表
worksheet = workbook['Sheet1']

# 读取单元格数据
data = worksheet.cell(row=1, column=1).value
print(data)  # 输出第一个单元格的数据

# 写入单元格数据
worksheet.cell(row=1, column=2).value = 'World'

# 保存Excel文件
workbook.save('example.xlsx')

上述示例代码使用openpyxl库打开名为example.xlsx的Excel文件,选择名为Sheet1的工作表。然后,它读取第一个单元格的数据并将其打印出来。接下来,它将字符串'World'写入第一行的第二个单元格。最后,使用workbook.save()方法保存对Excel文件的修改。

使用pandas库示例:

python 复制代码
import pandas as pd

# 读取Excel文件
dataframe = pd.read_excel('example.xlsx')

# 打印表格数据
print(dataframe)

# 数据操作示例,计算列的和
sum_column = dataframe['Column1'].sum()
print(f"Sum of Column1: {sum_column}")

# 写入Excel文件
dataframe.to_excel('output.xlsx', index=False)

上述示例代码使用pandas库读取名为example.xlsx的Excel文件,并将其存储在DataFrame对象中。然后,它打印出整个表格的数据,并对列Column1进行求和操作,并将结果打印出来。最后,使用to_excel()函数将DataFrame数据写入名为output.xlsx的Excel文件中,参数index=False表示不包含索引列。


通过这两个库,你可以使用Python读取、写入、修改和处理Excel表格中的数据。openpyxl库提供了更底层的操作,适用于对Excel文件的低级控制,而pandas库提供了更高级、更便捷的数据操作功能,适用于大规模数据处理和分析。可以根据具体的需求选择合适的库进行操作。

相关推荐
段一凡-华北理工大学9 小时前
工业智能体:从Codex/Claude到项目实战~系列文章05:从“AI助手“到“工业智能体“:能力跃迁与落地范式
人工智能·python·claude·codex·工业智能体·高炉炼铁智能化
深蓝AI9 小时前
ContextVar 到线程池就丢了?asyncio.to_thread 和 run_in_executor 实测
python
ailitsoft9 小时前
库存管理系统如何记录跨门店调拨后的收货差异?
excel·零售·软件需求
岁月宁静10 小时前
什么是 Agent:从"会聊天"到"会做事"
人工智能·python
岁月宁静11 小时前
AI 应用开发工程师简历怎么写:HR 初筛、技术复筛、面试追问,三道关卡各看什么?
人工智能·python·面试
来让爷抱一个11 小时前
Python 异步里混用同步库,事件循环被卡住的全过程
开发语言·python
小肝一下13 小时前
3.基础语法(3)
python
深蓝AI14 小时前
Python 子进程树:父进程被杀后,孙进程为何还在跑?
python
心祭丫丫14 小时前
【每天一个 Python 小案例17】Python 实现通讯录
开发语言·人工智能·笔记·python·学习
爱你真是太好了14 小时前
Skill 索引瘦身与渐进加载
python