python如何操作excel 基础代码

一 基础操作
1打开excel表格并获取表格名称
wookbook = load_workbook(filename = 表格文件路径)
(注意只能打开存在的表格,不能用该方法创建一个新表格文件)
workbook.sheetnames # 获取表格文件内的sheet名称
2 通过sheet名称获取表格对象
sheet = workbook[sheet名称]
3 获取表格尺寸大小
sheet.dimensions
4获取表格内某个格子的数据
sheet = workbook.active 打开活跃的/唯一的表格
cell = sheet['A1'] 获取A1格子
value = cell.value 该格子的数据
5 获取某个格子的行数,列数,坐标
print(cell.row, cell.column, cell.coordinate)
6 可用行数和列数定位某个格子
cell = sheet.cell(row = 1,column =1)
7 获取一系列格子
cells = sheet['A1:A5']
cells = sheet['A']
8 获取一系列格子 (按行或者列获取)
for row in sheet.iter_row(min_row=2,max_row=3,min_col=1,max_col=2):
print(row) #获取一整行
for cell in row:
print(cell) (按行获取)
for col in sheet.iter_row(min_row=2,max_row=3,min_col=1,max_col=2):
print(col)
for cell in col:
print(cell) (按列获取)

9 迭代整个表格的所有行
for row in sheet.rows:
print(row)

10 向某个格子写入内容并保存
sheet['A1']='你好啊'
cell= sheet['a1'] ; cell.value = '你好啊'
11 用python列表数据插入一行
sheet.append(python列表) 会接在表格内已有数据后面
12 插入公式
直接赋值公式字符串
例 sheet['f1002']=AVERAGE(f2:f1001)
#查看openpyxl支持的公式
from openpyxl.utils import FORMULAE
print(FORMULAE)
13 插入一列
sheet.insert_cols(idx =2)
sheet.insert_cols(idx =2,amount=3)#插入3列
14 插入一行
sheet.insert_rows(idx =2)
sheet.insert_rows(idx =2,amount=3)#插入3行
15 删除行(列)
sheet.delete_rows(idx = 2)
sheet.delete_rows(idx=2,amount=3)
16 移动格子
#移动单元格(正整数为向下或向右,负整数为向左或向上)
sheet.move_range('C1:D4',rows=2,cols=-2)
17 创建新的sheet
workbook.create_sheet(sheet名称)
18 删除一个sheet
sheet = workbook['表格2']
workbook.remove(sheet)
19 复制一个sheet
sheet = workbook['表格1']
workbook.copy_worksheet(sheet)
20 修改表格名称
sheet = workbook.active
sheet.title = '表格1'
21 创建一个新的Excel表格文件
workbook = openpyxl.Workbook()
22 冻结窗格
sheet.freeze_panes = 'G2'
23 添加筛选
sheet.auto_filter.ref = sheet.dimensions # 对整张表进行筛选
二 颜色 ,字体,样式
网址 https://www.bilibili.com/video/BV197411f7Rp?p=9

from openpyxl.styles import Font
Font(name=字体名称,size=字体大小,bold=是否加粗,italic=是否斜体,color=字体颜色)

1 修改字体样式
font = Font(name='思源黑体 Regular',size=12,bold=True,italic=True,color='FF000')(rgb与hex转换)
cell.font = font
2 获取表格中字体的样式
cell.font.属性
cell = sheet['a2']
font = cell.font
print(font.name,font.size,font.bold,font.italic)
3 设置对其样式
Alignment(horizontal=水平对其模式,vertical=垂直对齐模式,text_rotation=旋转角度,wrap_text=是否自动换行)
cell= sheet['a1']
alignment =Alignment(horizontal='center',vertical='center',text_rotation=45,wrap_text=True)
cell.alignment = alignment
4 设置边框样式
Side(style=边线样式,color=边线颜色)
Border(left=左边线样式,right=右边线样式,top=上边线样式,bottom=下边线样式)
例:
cell = sheet['a3']
Side1=Side(style='thin',color='ff000')
Side2=Side(style='dotted',color='ff000')
border = Border(left=side1,right=side1,top=side2,bottom=side2)
cell.border=border




猜你喜欢

转载自www.cnblogs.com/huahuawang/p/12722492.html