2025年3月14日 星期五 甲辰(龙)年 月十三 夜 设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 编程开发 > Python

python3中openpyxl的一些操作笔记

时间:12-06来源:作者:点击数:19

python3中openpyxl的一些操作笔记

  • #!/usr/bin/env python
  • # coding=utf-8
  • # https://blog.csdn.net/baili_sinan/article/details/78054037 python 操作Excel openpyxl的使用
  • from openpyxl import Workbook
  • from openpyxl.styles import Font, Alignment
  • from openpyxl.styles import PatternFill
  • wb = Workbook() # Create a workbook
  • # 需要获得特定的sheet,需要使用的方法是:
  • ws3 = wb['Sheet2']#通过list传入名字的方式 或者以下方法
  • # wb.get_sheet_by_name(title:str)#title为想要获取的sheet_name
  • print('----------------插入表操作--------------------')
  • ws1 = wb.create_sheet('第一个sheet表',index=0) # 插入新的工作表,放在0位置
  • ws2 = wb.create_sheet('最后一个工作表')# 默认插在最后
  • print('----------------查看表操作--------------------')
  • ws = wb.active #获得这个book的第一个sheet表名
  • print(ws)
  • print(wb.worksheets) # 打印这个book里面的所有工作表
  • print(wb.worksheets[1]) # 打印这个book里面的第二个工作表
  • print(wb.sheetnames) # 查看所有的sheet表,结果是列表形式,也可以用遍历:
  • for sheet in wb:
  • print(sheet.title) # 相当于遍历上面wb.sheetnames的列表
  • print('----------------修改表操作--------------------')
  • ws.title = '修改第一个表名' # 因为 ws = wb.active获取的是第一个表名,所以修改的就是第一个
  • wb.worksheets[1].title = '修改索引为1的表名'
  • wb['最后一个工作表'].title = '修改名为最后一个工作表的表名' # 修改名为‘最后一个工作表’的表名字
  • print('----------------单元格、字体格式操作--------------------')
  • d = ws.cell(row=1, column=1)
  • d.value = '单元格赋值'
  • # 单元格填充颜色,fill_type纯色填充
  • # fgColor或start_color前景色,或起始颜色;bgColor或end_color背景色,或结束颜色
  • d.fill = PatternFill(start_color='00ff00', fill_type="solid")
  • d.font = Font(name='微软雅黑', size=14, bold=True) # bold=True加粗
  • # 第一行第一列单元格内容水平居中和垂直居中
  • d.alignment = Alignment(horizontal='center', vertical='center')
  • # 设置行高
  • ws.row_dimensions[1].height = 20
  • # 设置A列宽度,这样只能设置一列宽度
  • # ws.column_dimensions['A'].width = 10
  • # 字典遍历一起设置列宽
  • dic = {'A': '22', 'B': '13', 'C': '60', 'D': '27'} # 如果表头数据增减,这里面也要相应修改
  • for i, j in dic.items():
  • ws.column_dimensions[i].width = j # 列宽
  • # 冻结首行
  • ws.freeze_panes = 'A2'
  • # 设置第一行第七列单元格格式为日期格式
  • ws.cell(row=1, column=7).number_format = 'yyyy/mm/dd'
  • print('----------------copy表操作--------------------')
  • copy_sheet = wb.copy_worksheet(wb.active) # copy第一个表
  • copy_sheet2 = wb.copy_worksheet(wb.worksheets[1]) # copy索引1位置的表
  • copy_sheet3 = wb.copy_worksheet(wb['最后一个工作表']) # copy名为‘最后一个工作表’的表
  • print('----------------单元格内容操作--------------------')
  • A4 = ws['A4'] # 因为 ws = wb.active获取的是第一个表名,所以直接访问第一个表的A4单元格,返回A4单元格,或者是创建一个原本不存在的单元格
  • A4 = 'A4内容'# 对A4单元格内容修改
  • d = ws.cell(row = 4,column=2,value = 10) #修改4行2列(也就是B4)的值为10
  • data=['姓名','杰克','里斯','安妮']
  • for i in range(len(data)):
  • ws['A%d'%(i+1)]=data[i] # 写入第一个工作表A列数据
  • for j in range(len(data)):
  • wb.worksheets[1]['A%d'%(i+1)] = data[i] # 写入索引为1的工作表的A列数据
  • print('----------------删除表操作--------------------')
  • wb.remove(wb.worksheets[0]) # 删除索引为0的sheet表
  • wb.remove(wb['最后一个工作表']) # 删除名为‘最后一个工作表’的表
  • print('----------------保存工作簿操作--------------------')
  • wb.save('测试.xlsx') # 只有保存后里面修改的内容才可以找到
  • # 保存完文件后,可以通过如下方法查找文件路径
  • import os
  • print(os.path.abspath('测试.xlsx')) #查找打印某个文件的路径
  • ws_rows_len = ws.max_row # 最大行数
  • ws_columns_len = ws.max_column # 最大列数
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门
本栏推荐