python操作excel格式文件

  • 1. 读数据
  • 2. 写excel
  • 3.操作整合

1. 读数据

安装包

  pip install openpyxl

导包

from openpyxl import load_workbook
  1. 读sheet所有操作
  • 加载文件数据

    wb=load_workbook('file/p1.xlsx')
    
  • 获取excel文件中的所有sheet名称

    print(wb.sheetnames)  #['数据导出', '用户列表', 'Sheet1', 'Sheet2']
    
  • 根据名称选择sheet

    sheet=wb['数据导出']
    
  • 找单元格

    #找第一行第二列单元格
    cell=sheet.cell(1,2)
    print(cell)  #<Cell '数据导出'.B1>
    
  • 获取值

    print(cell.value)
    
  • 根据索引选择sheet

    sheet1=wb.worksheets[0]
    
  • 循环所有sheet

    for name in wb.sheetnames:sheet=wb[name]cell=sheet.cell(1,2)print(cell.value)for sheet in wb:cell=sheet.cell(1,1)print(cell.value)
    
  1. 读单元格的数据
  • 获取第N行第N列的单元格(位置从1开始)

      #获取第1行第1列的单元格(位置从1开始)cell=sheet.cell(1,1)
    
  • 获取单元格值

    print(cell.value)
    
  • 获取单元格样式

    print(cell.style)
    
  • 获取单元格字体

    print(cell.font)  #返回font对象
    
  • 获取单元格排列情况

    print(cell.alignment)
    
  • 获取某个单元格

    # A表示列,2表示行
    c1=sheet['A2']
    
  • 获取第N行所有的单元格

    #获取第1行所有的单元格,表头
    for cell in sheet[1]:print(cell.value)
    
  • 获取所有行

    for row in sheet.rows:print(row[0].value) #每一行的第一列
    
  • 获取所有列的数据(某一行全取)col[0]是表头

    # 获取所有列的数据(某一行全取)col[0]是表头
    for col in sheet.columns:print(col)  #一整列print(col[1].value) #第一列的值
    
  1. 读合并单元格
#合并默认第一个单元格有值,后面为None
c1=sheet.cell(1,1)
print(c1,c1.value)  #<Cell 'Sheet1'.A1>  用户信息
c2=sheet.cell(1,2)
print(c2,c2.value)   #<MergedCell 'Sheet1'.B1>  None

2. 写excel

修改文件要重新保存

  1. 原数据基础上写内容(修改内容)

    # 找到单元格,并修改单元格的内容
    cell=sheet.cell(1,1)
    cell.value='你好'
    wb.save('file/p2.xlsx')
    
  2. 保存文件

    wb.save('file/p2.xlsx')
    
  3. 新建文件写内容

    from openpyxl import workbook
    # 创建excel且默认会创建一个sheet(名称为Sheet)
    wb = workbook.Workbook()
    #获取创建的sheet
    sheet = wb.worksheets[0] # 或 sheet = wb["Sheet"]
    # 找到单元格,并填写单元格的内容
    cell = sheet.cell(1, 1)
    cell.value = "新的开始"# 将excel文件保存到p2.xlsx文件中
    wb.save("files/p2.xlsx")
    

3.操作整合

sheet整体操作

  1. 修改sheet名称

    from openpyxl import workbook
    #创建sheet,默认名称为Sheet
    wb=workbook.Workbook()
    sheet=wb.worksheets[0]
    sheet.title='王晓宇'
    wb.save("files/p2.xlsx")
    
  2. 创建sheet并设置sheet名称背景颜色

    from openpyxl import workbook
    wb=workbook.Workbook()
    #create_sheet(sheet名称,sheet位置)
    sheet=wb.create_sheet('工作计划',0)
    sheet.sheet_properties.tabColor="000000"
    wb.save("files/p2.xlsx")
    
  3. 设置默认打开的sheet

    from openpyxl import load_workbook
    wb=load_workbook('file/p1.xlsx')
    wb.active=1
    wb.save('file/p10.xlsx')
    
  4. 拷贝sheet

    from openpyxl import workbook
    wb=workbook.Workbook()
    sheet=wb.worksheets[0]
    sheet.title='王晓宇'
    new_sheet=wb.copy_worksheet(wb["王晓宇"])
    new_sheet.title='新计划'
    wb.save("file/p40.xlsx")
    
  5. 删除sheet

    from openpyxl import load_workbook
    wb=load_workbook('file/p40.xlsx')
    del wb['新计划']
    wb.save("file/p40.xlsx")
    
  6. 保存

    wb.save("file/p40.xlsx")
    

单元格操作

  1. 获取某个单元格,修改值

    #方式一
    cell=sheet.cell(1,1)
    cell.value='wxy'
    wb.save("file/p40.xlsx")
    #方式二
    sheet['A1']='wxy'
    wb.save("file/p40.xlsx")
    
  2. 获取某些单元格,修改值

    cell_list=sheet['B2':'C3']
    #row一行
    for row in cell_list:for cell in row:cell.value="新值"
    
  3. 对齐方式

    • horizontal,水平方向对齐方式:“general”, “left”, “center”, “right”, “fill”, “justify”, “centerContinuous”, “distributed”
    • vertical,垂直方向对齐方式:“top”, “center”, “bottom”, “justify”, “distributed”
    • text_rotation,文本旋转角度。
    • wrap_text,文本是否自动换行。
    cell = sheet.cell(9, 2)
    cell.alignment = Alignment(horizontal='center', vertical='distributed', text_rotation=45, wrap_text=True)
    
  4. 边框

    • side(线)的style有如下:dashDot’,‘dashDotDot’, ‘dashed’,‘dotted’,‘double’,‘hair’, ‘medium’, ‘mediumDashDot’, ‘mediumDashDotDot’,‘mediumDashed’, ‘slantDashDot’, ‘thick’, ‘thin’
    cell = sheet.cell(9, 2)
    cell.border = Border(top=Side(style="thin", color="FFB6C1"), bottom=Side(style="dashed", color="FFB6C1"),left=Side(style="dashed", color="FFB6C1"),right=Side(style="dashed", color="9932CC"),diagonal=Side(style="thin", color="483D8B"),  # 对角线样式diagonalUp=True,  # 左下 ~ 右上方向diagonalDown=True  # 左上 ~ 右下方向
    )
    
  5. 字体

    cell = sheet.cell(5, 1)
    #underline下划线
    cell.font = Font(name="微软雅黑", size=45, color="ff0000", underline="single")
    
  6. 背景颜色

    cell = sheet.cell(5, 1)
    cell.fill = PatternFill("solid", fgColor="99ccff")
    
  7. 渐变背景颜色

    cell = sheet.cell(5, 5)
    cell.fill = GradientFill("linear", stop=("FFFFFF", "99ccff", "000000"))
    
  8. 宽高(索引从1开始)

    sheet.row_dimensions[1].height = 50
    sheet.column_dimensions["E"].width = 100
    
  9. 合并单元格

    sheet.merge_cells("B2:D8")
    sheet.merge_cells(start_row=15, start_column=3, end_row=18, end_column=8)
    
  10. 解除合并单元格

    sheet.unmerge_cells("B2:D8")
    
  11. 写入公式

    #乘
    sheet = wb.worksheets[3]
    sheet["D1"] = "合计"
    sheet["D2"] = "=B2*C2"#加
    sheet = wb.worksheets[3]
    sheet["D3"] = "=SUM(B3,C3)"
    
  12. 删除

    # idx,要删除的索引位置
    # amount,从索引位置开始要删除的个数(默认为1)
    sheet.delete_rows(idx=1, amount=20)#删1-20行
    sheet.delete_cols(idx=1, amount=3)#删1-3列
    
  13. 插入

    sheet.insert_rows(idx=5, amount=10)
    sheet.insert_cols(idx=3, amount=2)
    
  14. 循环写内容

    sheet = wb["Sheet"]
    cell_range = sheet['A1:C2']
    for row in cell_range:for cell in row:cell.value = "xx"for row in sheet.iter_rows(min_row=5, min_col=1, max_col=7, max_row=10):for cell in row:cell.value = "oo"
    
  15. 移动

    # 将H2:J10范围的数据,向右移动15个位置、向上移动1个位置
    sheet.move_range("H2:J10",rows=-1, cols=15)
    
  16. 打印区域

    sheet.print_area = "A1:D200"
    
  17. 打印时,每个页面固定表头

    sheet.print_title_cols = "A:D"
    sheet.print_title_rows = "1:1"
    

python操作excel格式文件相关推荐

  1. python操作xlsx格式文件

    python操作xlsx格式文件 一.准备工作 二 .xlrd库读取 三.pandas库读取 1.安装pandas: pip install pandas 2.代码如下 3.操作行列 一.准备工作 二 ...

  2. python操作XML格式文件

    python操作XML格式文件 python操作XML格式文件 1. 读取文件和内容 2.读取节点数据 3.修改和删除节点 4.构建文档 python操作XML格式文件 可扩展标记语言,是一种简单的数 ...

  3. python—openpyxl自动化操作Excel格式文件(6~10课)

    我有点懒直接截图的 仅个人笔记 复习需要 !!!!!! 文章目录 前言 一.安装库openpyxl 二.python打开及读取Excel表格内容 1.Excel表格基本术语 2.打开及读取表格数据 2 ...

  4. java解析excel文件_1.3.1 python解析excel格式文件

    Excel表格 Microsoft Excel是Microsoft为使用Windows和Apple Macintosh操作系统的电脑编写的一款电子表格软件. excel文档的基本定义 工作薄(work ...

  5. 1.3.1 python解析excel格式文件

    Excel表格 Microsoft Excel是Microsoft为使用Windows和Apple Macintosh操作系统的电脑编写的一款电子表格软件. excel文档的基本定义 工作薄(work ...

  6. python操作excel表格文件--使用xlrd模块

    原文: http://www.cnblogs.com/lhj588/archive/2012/01/06/2314181.html 引言: 实际工作中,可能很多情况下都会用到excel表格,像如果不需 ...

  7. python 处理 excel格式文件

    python 调用xlrd package就可以处理excel文件. 简单例子如下: 源码如下: # -*- coding: utf-8 -*- import xlrd #-------------- ...

  8. Matlab操作excel格式文件

    1,读取excel文件 使用xlsread函数,格式 num = xlsread(filename,sheet,xlRange) [num,txt,raw] = xlsread('my_example ...

  9. python操作Excel格式与下载

    #1.第一步导入相应的模块import xlwtfrom xlwt import *#2.第二步创建excel表格 workbook = xlwt.Workbook() sheet = workboo ...

最新文章

  1. 2020各省份大学排名出炉!
  2. 他用五年研究百位百万富翁生活习惯 结果很震撼
  3. MSP430F5529 DriverLib 库函数学习笔记(十六)比较器B Comp_B
  4. Socket的send函数在执行时报EAGAIN的错误
  5. php5.6扩展编写,php 5.6版本中编写一个PHP扩展的简单示例
  6. Qt工作笔记-使用QGraphicsItem加载图片并实现碰撞
  7. Java基础-重要版本
  8. CentOS - thin web server for Ruby(centos下安装thin,运行rails)
  9. 计算机储存单元中的储存的内容是什么,什么是存储单元的地址?什么是存储单元的内容?...
  10. SAP SD客户主数据
  11. Oracle AutoVue介绍
  12. 苹果手机开发微信公众号 禁止分享时遇到了问题
  13. 训练3.21(C:Summer Dichotomy)
  14. 推荐几款HTML5开发工具
  15. 微信支付分(四)--取消支付分订单
  16. git reflog 时光穿梭机
  17. 深度解读扫地机器人的导航原理
  18. 猪猪女孩有多蠢,猫爪杯就有多火
  19. Visual Studio2022安装教程
  20. 计算机用的云电脑,玩家怎么才能将家用电脑变成云电脑?

热门文章

  1. iOS开发(OC)——手机号码,邮箱,网址等正则表达式的实现
  2. 学生和教师信息管理系统
  3. 【工具使用】在线使用Matlab
  4. 互联网首席工程师 - 全栈,懂后端的精英前端工程师
  5. RK3399 MH5000-31模组通话回铃音自制
  6. 多倍速播放网页视频的方法
  7. 密信电子签名服务启用新域名、新品牌、新产品和新网站
  8. python环境搭建 python3.10.5 安装
  9. [转]我不爱的那个女人!
  10. java 套接字是什么_套接字是什么,套接字通信及其原理