Python对Excel文件的操作

TOC

openpyxl库

openpyxl 是一个用于读取和写入 Excel 文件(.xlsx 格式)的 Python 库。
相比于xlwt库:

  • xlwt仅支持 .xls 格式(Excel 2003 及以前版本)
  • xlwt支持的最大行数为 65,536 行
  • xlwt支持最大列数为 256 列

openpyxl库安装:

pip install openpyxl

基本使用

# 导入库
import openpyxl

# 加载excel文件
"""
加载已经存在的excel工作表方法:
workbook = openpyxl.load_workbook('example.xlsx')
如果需要新建一个excel工作表方法:
workbook = openpyxl.Workbook()
"""
workbook = openpyxl.load_workbook('example.xlsx')
# 选择工作表
"""
sheet = workbook['Sheet1']  按名称选择
sheet = workbook.active     选择活动工作表
"""
sheet = workbook['Sheet1']
# 设置工作表标题
sheet.title = '测试表'
# 读取单元格数据
value = sheet['A1'].value
# 写入单元格数据
sheet['A1'] = 'Hello, World!'
# 保存excl文件
workbook.save('example.xlsx')

使用实例

import openpyxl

list_a = [['a1', 'a2', 'a3'], ['b1', 'b2', 'b3'], ['c1', 'c2', 'c3']]

# 创建一个新的 Excel 文件
workbook = openpyxl.Workbook()
sheet = workbook.active

# 逐行将数据写入 Excel 文件中
for row_index, lines in enumerate(list_a, start=1):
    # 将数据逐列写入 Excel 文件中
    for col_index, value in enumerate(lines, start=1):
        sheet.cell(row=row_index, column=col_index).value = value
# 保存 Excel 文件
workbook.save('test-excel.xlsx')
print('数据已成功写入到 Excel 文件中...')

常用方法

# 创建新的excel
workbook = openpyxl.Workbook()
# 添加新的工作表
workbook.create_sheet('新表名字')
# 删除工作表
workbook.remove(sheet)
# 合并单元格
sheet.merge_cells('A1:C1')
# 设置单元格格式
from openpyxl.styles import Font
sheet['A1'].font = Font(bold=True, color='FF0000')
# 调整列宽
sheet.column_dimensions['A'].width = 20
# 读取多个单元格
for row in sheet.iter_rows(min_row=2, max_col=3, max_row=4):
    for cell in row:
        print(cell.value)