python处理Excel(openpyxl模块的使用)

由于任务经常需要使用python处理Excel数据,记录下常用的python控制Excel的方法,备忘

Tips:openpyxl模块只支持.xlsx后缀的Excel表格,.xls后缀别的表格暂不支持,提供以下两种解决思路:

  • 1.打开.xls后缀的表格另存为.xlsx格式。

  • 2.使用xlrd模块读,xlwt模块写(不推荐这种方法,没有openpyxl模块方便,而且如今大部分都是.xlsx格式的表格)


第一步、安装openpyxl模块

在cmd里直接输入以下命令即可
pip install openxyxl

这是一个成绩表,接下来以这个表为例展开

在这里插入图片描述

1.基本概念

  • 在 openpyxl 中,主要用到三个概念:Workbook,Sheet,Cell:
  • Workbook:就是一个 excel 工作簿,其中包含多个 sheet;
  • Sheet:工作簿中的一张表页;
  • Cell:就是简单的一个单元格,用来存储数据对象;

2. 读取.xlsx文件

wb = load_workbook('test.xlsx')    # 读取Excel文件
  • 按名字读取Excel中的表
sheet = wb['Sheet1']    # 按名字读取Excel里的表
  • 按Excel中的表的顺序读取Excel中的表
# wb.sheetnames 为Excel表的列表
sheet = wb[wb.sheetnames[0]]    # 读取Excel里的第一张表
  • 获取Excel中的最大列和最大行
row = sheet.max_row    # 获取表中的最大列
column = sheet.max_column    # 获取表中的最大行
  • 获取表格里的值
A1 = sheet["A1"].value    # 获取A1格子里的值
  • 保存Excel表
wb.save('test2.xlsx')    # 保存为名字为"test2.xlsx"的Excel表
部分源码
from openpyxl import *

# 读取.xlsx文件
wb = load_workbook('test.xlsx')

# 读取Excel里的第一张表
sheet = wb[wb.sheetnames[0]]

# 遍历B列
for i in range(1, sheet.max_row+1):
    print(sheet["B"+str(i)].value)

3.创建Excel表格

wb = Workbook()    # 创建工作簿
sheet = wb.active    # 激活工作表 

4.单元格处理

  • 合并、拆分单元格
sheet.merge_cells('A1:B2')    # 合并单元格
sheet.unmerge_cells('A1:B2')    # 拆分单元格
  • 修改行和列的宽

sheet.column_dimensions['A'].width = 10    # 调整列宽


sheet.row_dimensions[1].height = 20    # 调整行高
发布了10 篇原创文章 · 获赞 18 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_39105012/article/details/102960309