openpyxl 操作学习

Posted 卖山楂啦prss

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了openpyxl 操作学习相关的知识,希望对你有一定的参考价值。

打开已经存在的Excel用load_workbook

from openpyxl import load_workbook, Workbook
path = r'C:\\Users\\ABC\\Desktop\\数据'
workbook = load_workbook(path + '/' + 'test.xlsx')
sheet = workbook.active # 如果只有一张工作表也可以用
sheet = workbook['Sheet1'] # 根据sheet名

创建新的Excel用Workbook

from openpyxl import load_workbook, Workbook
new_workbook = Workbook()
sheet = new_workbook.active # 如果只有一张工作表也可以用
sheet = new_workbook['Sheet1'] # 根据sheet名

根据名称获取工作表

获取指定单元格:cell = sheet['B2']   or  cell = sheet.cell(row=3,column=2)
单元格值:cell.value
更改单元格值:cell.value = '123'
单元格所在行:cell.row
单元格所在列:cell.column
单元格所在坐标:cell.coordinate

获取单元块

cells = sheet['A1:B2']
cells = sheet['A1': 'B6']


获取整列(字母)
cells = sheet['B']
cells = sheet['B:D']


获取整行(数字)
cells = sheet[2]
cells = sheet[2:4]

修改值

sheet.cell(1,1).value = “合并单元格内容”

sheet['A1'].value = '张三'
sheet['B1'].value = '时间'

循环每一个单元格

for cell in cells:
    print(cell.value)

获取指定范围值

for row in sheet.iter_rows(min_row=3,max_row=6,min_col=2,max_col=4):  # 3至6行,2至4列
      print(row)
      for cell in row:
          print(cell.value, end=" ")

保存

workbook.save(filename='Excel.xlsx')

写入

from openpyxl import load_workbook, Workbook
new_workbook = Workbook()
sheet = new_workbook.active # 如果只有一张工作表也可以用
sheet.append(['姓名', '年龄', '籍贯'])
data1 = ['张三',15,'重庆']
sheet.append(data1)
data2 = ['李四',26,'北京']
sheet.append(data2)


df = [['黄1',16,'四川'],
      ['黄2',18,'上海'],
      ['黄3',19,'重庆']
      ]
for i in df:
    sheet.append(i)
new_workbook.save(filename='Excel.xlsx')

插入数据

sheet.insert_rows(idx=3)
sheet.insert_cols(ids=2)

sheet.insert_rows(idx=3,amount=4) #插入四行
sheet.insert_cols(ids=2,amount=4)

删除

sheet.delete_row(idx=2,amount=2)

设置单元格值字体样式

from openpyxl.styles import Font
cell = sheet['B2']
font = Font(name='微软雅黑',size = 15,bold=True,italic=True,color='red')
cell.font = font

设置行高和列宽

sheet.row_dimensions[1].height = 20
sheet.column_dimensions['C'].width = 20 
sheet.column_dimensions['A'].width = 30  #设置列宽
sheet.column_dimensions['B'].width = 18  #设置列宽

单元格合并与取消

sheet.merge_cells("A1:A2")

sheet.unmerge_cells('A1:B2') 

以上是关于openpyxl 操作学习的主要内容,如果未能解决你的问题,请参考以下文章

python中openpyxl的用法安装,以及一些基本的操作

封装openpyxl,更加方便处理 excel(中级)

Python 操作 Excel 第3篇博客,python openpyxl 模块一文打通

python openpyxl 2.5.4 版本 excel常用操作封装

python接口自动化之openpyxl学习

学习笔记:python3,代码片段(2017)