目录

  • 专栏导读
  • 库的介绍
  • 库的安装
  • 1、读取Excel文件(按行读取)
  • 2、读取Excel文件(按某列读取)
  • 3、新增一列
  • 4、删除一列
  • 5、插入一行
  • 6、删除一行
  • 7、修改单元格值
  • 8、修改单元底色
  • 9、修改单元格字体
  • 10、获取sheet表 切换sheet表
  • 总结


库的介绍

Openpyxl是一个强大的Python库,主要用于读取、写入和操作Excel文件(特别是.xlsx格式)。它提供了一组功能丰富的API,支持Excel 2010及更高版本的文件格式,使得在编程中处理Excel文件变得非常容易。

Openpyxl的主要特点和功能包括:

1、支持.xlsx格式:Openpyxl主要用于处理Excel 2010及更新版本的.xlsx文件。

2、读写Excel文件:用户可以使用Openpyxl读取现有的Excel文件,获取数据,修改数据,并保存到新的文件中。

3、操作单元格:Openpyxl允许用户按行、列或具体的单元格进行数据的读取和写入。

4、创建和修改工作表:用户可以创建新的工作表,复制和删除现有的工作表,以及设置工作表的属性等。

5、样式设置:Openpyxl允许用户设置单元格的字体、颜色、边框等样式。

6、图表和公式:用户可以通过Openpyxl创建图表、添加公式等。

7、支持数字和日期格式:Openpyxl能够正确处理数字和日期格式,确保在Excel中显示正确的格式。

在Openpyxl中,有三个主要的对象:Workbook、Worksheet和Cell。Workbook代表一个Excel文档,Worksheet代表表格,Cell则代表单元格。这些对象都包含了许多属性和方法,方便用户进行各种操作。

安装和导入Openpyxl也相对简单。用户可以使用pip进行安装,然后在Python程序中通过import语句导入整个库或特定的模块和函数。

总的来说,Openpyxl是一个功能强大、易于使用的Python库,可以大大提高处理Excel文件的效率。无论是自动化处理大量数据,还是创建漂亮的报告,Openpyxl都是一个强大的工具。

库的安装

pip install openpyxl -i https://pypi.tuna.tsinghua.edu.cn/simple/

准备一个测试Excel数据

python 给word内表格设置边框 python excel加边框_python

1、读取Excel文件(按行读取)

import openpyxl
# 打开 Excel 文件,获取 Workbook 对象
workbook = openpyxl.load_workbook('./text.xlsx',read_only=True)
# 选择需要读取数据的 Sheet,获取 Worksheet 对象
worksheet = workbook.active

# 循环遍历每一行,将每一行的数据以列表形式添加到 rows 列表中
for i, row in enumerate(worksheet.iter_rows(values_only=True), 1):
    d = list(row)
    print(f"行{i}",d)

输出

行1 ['姓名', '班级', '性别', '年龄']
行2 ['张1', 1, '男', 10]
行3 ['张2', 1, '男', 11]
行4 ['张3', 1, '男', 12]
行5 ['张4', 1, '男', 13]
行6 ['张5', 1, '男', 14]
行7 ['张6', 1, '男', 15]
行8 ['张7', 1, '男', 16]
略略略略



2、读取Excel文件(按某列读取)

import openpyxl
# 打开 Excel 文件,获取 Workbook 对象
workbook = openpyxl.load_workbook('./text.xlsx')
# 选择需要读取数据的 Sheet,获取 Worksheet 对象
worksheet = workbook.active

# 循环遍历每一行,将每一行的数据以列表形式添加到 rows 列表中
for i, cell in enumerate(worksheet["A"], 1):
    print(f"行{i}",cell.value)

输出

行1 姓名
行2 张1
行3 张2
行4 张3
行5 张4
行6 张5
行7 张6
行8 张7
略略

3、新增一列

import openpyxl
# 打开 Excel 文件,获取 Workbook 对象
workbook = openpyxl.load_workbook('./text.xlsx')
# 选择需要读取数据的 Sheet,获取 Worksheet 对象
worksheet = workbook.active

# 新增一列
worksheet.insert_cols(1)

workbook.save("结果.xlsx")

输出

python 给word内表格设置边框 python excel加边框_python 给word内表格设置边框_02

4、删除一列

import openpyxl
from openpyxl.styles import Font

# 打开 Excel 文件,获取 Workbook 对象
workbook = openpyxl.load_workbook('./text.xlsx')
# 选择需要读取数据的 Sheet,获取 Worksheet 对象
worksheet = workbook.active

# 删除B列
for row in worksheet.iter_rows(min_row=1, max_row=worksheet.max_row, min_col=2, max_col=2):
    for cell in row:
        cell.value = None


workbook.save("结果.xlsx")

输出

5、插入一行

import openpyxl
# 打开 Excel 文件,获取 Workbook 对象
workbook = openpyxl.load_workbook('./text.xlsx')
# 选择需要读取数据的 Sheet,获取 Worksheet 对象
worksheet = workbook.active

# 在第三行插入一行
worksheet.insert_rows(3)

workbook.save("结果.xlsx")

输出

python 给word内表格设置边框 python excel加边框_开发语言_03

6、删除一行

import openpyxl
from openpyxl.styles import Font

# 打开 Excel 文件,获取 Workbook 对象
workbook = openpyxl.load_workbook('./text.xlsx')
# 选择需要读取数据的 Sheet,获取 Worksheet 对象
worksheet = workbook.active

# 删第5行
worksheet.delete_rows(5)

workbook.save("结果.xlsx")

输出

python 给word内表格设置边框 python excel加边框_开发语言_04

7、修改单元格值

import openpyxl
# 打开 Excel 文件,获取 Workbook 对象
workbook = openpyxl.load_workbook('./text.xlsx')
# 选择需要读取数据的 Sheet,获取 Worksheet 对象
worksheet = workbook.active

# 将A1 单元格修改为:哈哈
worksheet['A1'] = '哈哈'

workbook.save("结果.xlsx")

输出

python 给word内表格设置边框 python excel加边框_python_05

8、修改单元底色

import openpyxl
# 打开 Excel 文件,获取 Workbook 对象
workbook = openpyxl.load_workbook('./text.xlsx')
# 选择需要读取数据的 Sheet,获取 Worksheet 对象
worksheet = workbook.active

# 将第一行单元格底色修改为橙色
for cell in worksheet[1]:
    cell.fill = openpyxl.styles.PatternFill(start_color='FFC000', end_color='FFC000', fill_type='solid')


workbook.save("结果.xlsx")

输出

python 给word内表格设置边框 python excel加边框_python 给word内表格设置边框_06

9、修改单元格字体

import openpyxl
from openpyxl.styles import Font
# 设置字体对象
font = Font(name='微软雅黑', size=10, bold=True)
# 打开 Excel 文件,获取 Workbook 对象
workbook = openpyxl.load_workbook('./text.xlsx')
# 选择需要读取数据的 Sheet,获取 Worksheet 对象
worksheet = workbook.active

# 将第一行字体设置为:微软雅黑10号加粗
for cell in worksheet[1]:
    cell.font = font
    
workbook.save("结果.xlsx")

输出

10、获取sheet表 切换sheet表

import openpyxl
from openpyxl.styles import Font

# 打开 Excel 文件,获取 Workbook 对象
workbook = openpyxl.load_workbook('./text.xlsx')
# 选择需要读取数据的 Sheet,获取 Worksheet 对象
worksheet = workbook.active

# 获取所有sheet表
for sheet in workbook.sheetnames:
    print(sheet)
    # 切换heet
    worksheet = workbook[sheet]
    print("正在处理:", sheet)


workbook.save("结果.xlsx")

输出

Sheet1
正在处理: Sheet1
Sheet2
正在处理: Sheet2