Python(应用) — Excel操作(一)

目录

  1. Excel文档的读写
    1. 工作簿的创建
    2. 工作表的获取
    3. 从表中获取单元格
    4. 列字母和数字之间的转换
    5. 从表中获取行和列
    6. 工作表的创建和删除
    7. 文档的保存
  2. 单元格的拆分、合并
  3. 冻结窗口
  4. 公式
  5. 图表
  6. 样式
    1. 字体
    2. 颜色
    3. 背景
    4. 行高和列宽

背景

处理Excel使用的 openpyxl 第三方库,使用 pip3 install openpyxl 安装;

Pythonopenpyxl
Version3.6.22.5.0

Excel文档的读写

先明确几个对象:文档对象Workbook、工作表对象、单元格对象

常用Api
名称含义
openpyxl.Workbook()创建工作簿
openpyxl.load_workbook()打开工作簿
workbook.save()文档的保存
workbook.sheetnames获取工作簿中的所有工作表名称list
workbook.create_sheet()工作表的创建
workbook.remove()工作表的删除
workbook[‘sheet_name’]获取工作表
workbook.active获取当前选中的工作表
sheet.title获取工作表的名称
sheet[‘A1’]
sheet.cell(row=m, column=n)
单元格的获取
sheet.max_row获取当前最大的行数
sheet.max_column获取当前最大的列数
sheet.coordinate单元格的位子坐标
column_index_from_string(‘letter’)列字母转换成数字
get_column_letter(num)列数字转换成字母
sheet[‘A1’:’C3’]单元格的块选中
sheet.dimensions表的大小
cell.value获取单元格的值
cell.row获取指定单元格的行坐标
cell.column获取指定单元格的列坐标
示例
import openpyxl
import os
from openpyxl.utils import get_column_letter, column_index_from_string

#1.加载工作簿
wb = openpyxl.load_workbook('example.xlsx')
print('xlsx type: ', type(wb))

#2.获取工作簿中所有表名的列表
sheet_names = wb.sheetnames
print(sheet_names)

#3.获取指定的工作表Sheet1
sheet = wb['Sheet1']
print('sheet type: ', type(sheet))
#4.获取工作表名
print('Sheet title: ', sheet.title)
#5.获取当前选中的工作表
active_sheet = wb.active
print('active_sheet: ', active_sheet.title)

#6.单元格的获取(方法一)
A1 = sheet['A1']
print(A1)
print('value: ', A1.value)
print('coordinate =', A1.coordinate, '; row =', A1.row, '; column =', A1.column)

#7.单元格的获取(方法二)
B1 = sheet.cell(row=1, column=2)
print('B1: ', B1)
print('B1: ', B1.value)

#8. 表格的大小
max_row = sheet.max_row #数字
max_column = sheet.max_column #数字
dimensions = sheet.dimensions
print('dimensions =', dimensions, ' max_row =', max_row, ' max_column =', max_column)

#9.字母转换到数字
letter = get_column_letter(3)
print(letter)
#10.数字转换到字母
index = column_index_from_string('C')
print(index)

#11.打印全表
cells = [get_column_letter(column) + str(row) for column in range(1, max_column) for row in range(1, max_row) ]
print(cells)

#12.从表中取得行跟列(切片)
tuple = sheet['A1':'C3']
print(tuple)
print(type(list)) #tuple
for rowOfCellObjects in sheet['A1':'C3']:
    print(rowOfCellObjects)

#13.访问特定行或列的单元格的值
rows = sheet.rows  #rows是一个生成器
print(list(rows)[1]) #rows通过list转换
columns = sheet.columns
print(list(columns)[2][:5]) #取第3列前5个元素

#14.创建工作簿
workbook = openpyxl.Workbook()
workbook.save('test.xlsx')

#15.创建工作表
workbook.create_sheet()
workbook.create_sheet(index=0, 'table1')
print(workbook.sheetnames)
#16.删除工作表
workbook.remove(workbook[workbook.sheetnames[0]])
print('remove sheet: ', workbook.sheetnames)
#17.工作表重命名
sheet.title = 'rename_table1'
print('rename sheet: ', workbook.sheetnames)

#18.设置表格的列宽
sheet.column_dimensions['B'].width = 20
#19.设置表的行高
sheet.row_dimensions[2].height = 30
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值