python处理Excel文件

最近需要频繁读写 excel 文件,想通过程序对 excel 文件进行自动化处理,发现使用 python 的 openpyxl 库进行 excel 文件读写实在太方便了,结构清晰,操作简单。本文对 openpyxl 的使用进行总结,主要包含以下内容:openpyxl 是一个对 xlsx/xlsm/xltx/xltm 格式的 2010 excel 文档进行读写的 python 库。它官网有详细的文档介绍。在进行使用前,需先安装并引入在进行 excel 操作之前,先对 excel 的文件结构做一个简单了解,以
摘要由CSDN通过智能技术生成

1 前言

最近需要频繁读写 excel 文件,想通过程序对 excel 文件进行自动化处理,发现使用 python 的 openpyxl 库进行 excel 文件读写实在太方便了,结构清晰,操作简单。本文对 openpyxl 的使用进行总结,主要包含以下内容:

  • openpyxl 的介绍及 excel 文件结构说明
  • 工作表的读写处理
  • 行列的读写处理
  • 单元格的读写处理

2 openpyxl 及 excel 文件结构

openpyxl 是一个对 xlsx/xlsm/xltx/xltm 格式的 2010 excel 文档进行读写的 python 库。它官网有详细的文档介绍。在进行使用前,需先安装并引入

# 安装
pip install openpyxl
# 引入openpyxl 模块
import openpyxl

在进行 excel 操作之前,先对 excel 的文件结构做一个简单了解,以便于熟悉后续的操作。如下图:
在这里插入图片描述一个 excel 文件,其内容按层次分为工作簿(文件) -> 工作表(sheet) -> 行列 -> 单元格 ,对应上图,整个 excel 文件即是一个工作簿;工作簿下可以有多个工作表(如图中的 Sheet1/test1 等等);工作表中就是对应的表格数据,分为行和列,行是用序号表示,列用大写字母表示(也可用序号);行与列的交点就是每一个存储数据的单元格。因此,我们对 excel 表格进行读写,基本按这个层次思路来操作:读入文件,找到工作表,遍历行列,定位单元格,对单元格进行读写。因此,会涉及到工作表、行列、单元格的读写操作。这些操作之前,需要先把文件加载进来,一个 excel 文件就是一个工作簿 (workbook),加载操作如下(示例中的 excel 文件为 text.xlsx):

# 加载excel文件
file_path = "E:/pythontest/test.xlsx"
workbook = openpyxl.load_workbook(file_path)

3 工作表处理

3.1 工作表读取

工作表( sheet )会有多个,可以读取全部的工作表,读取单个时,可以按 sheet 名称读取,也可以按下标(下标从0开始)。

  • 全部工作表对象:workbook.worksheets
  • 全部工作表名称:workbook.sheetnames
  • 按名称(sheet_name)获取工作表:workbook[sheet_name]
  • 按下标(i从0开始)获取工作表:workbook.worksheets[i]
  • 获取正在使用的工作表:workbook.active
  • 获取工作表的属性(如工作表名称、最大行数和列数等):sheet.title、sheet.max_row、sheet.max_column

如下:

# 全部sheet对象
>>> workbook.worksheets
[<Worksheet "Sheet1">, <Worksheet &#
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Python可以使用第三方库来处理Excel文件,其中比较常用的是`openpyxl`和`pandas`。 ### 使用openpyxl处理Excel文件 `openpyxl`是一个Python库,用于读写Excel 2010 xlsx/xlsm/xltx/xltm文件。 以下是一个使用`openpyxl`读取Excel文件的示例代码: ```python from openpyxl import load_workbook # 打开Excel文件 wb = load_workbook('example.xlsx') # 选择工作表 ws = wb.active # 读取单元格的值 print(ws['A1'].value) # 遍历行 for row in ws.iter_rows(min_row=1, max_col=3, max_row=2): for cell in row: print(cell.value) ``` 以下是一个使用`openpyxl`写入Excel文件的示例代码: ```python from openpyxl import Workbook # 创建一个新的工作簿 wb = Workbook() # 选择工作表 ws = wb.active # 写入单元格的值 ws['A1'] = 'Hello' ws.cell(row=2, column=1, value='World') # 添加行 ws.append(['Python', 'is', 'awesome']) # 保存Excel文件 wb.save('example.xlsx') ``` ### 使用pandas处理Excel文件 `pandas`是一个强大的数据处理库,其中包含了处理Excel文件的功能。 以下是一个使用`pandas`读取Excel文件的示例代码: ```python import pandas as pd # 读取Excel文件 df = pd.read_excel('example.xlsx') # 读取单元格的值 print(df.loc[0, 'A']) # 遍历行 for index, row in df.iterrows(): print(row['A'], row['B'], row['C']) ``` 以下是一个使用`pandas`写入Excel文件的示例代码: ```python import pandas as pd # 创建DataFrame对象 df = pd.DataFrame({'A': ['Hello', 'Python'], 'B': ['World', 'is'], 'C': ['awesome', '!']}) # 将DataFrame写入Excel文件 with pd.ExcelWriter('example.xlsx') as writer: df.to_excel(writer, sheet_name='Sheet1', index=False) ``` 以上就是Python处理Excel文件的基本方法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值