1.openpyxl模块了解

  1. 1.excel版本问题
  2. 03版本之前的excel文件后缀名xls
  3. 03版本之后的excel文件后缀名xlsx
  4.  
  5. 2.python操作excel表格的模块
  6. openpyxl
  7. 针对03版本之前的excel不是太兼容
  8. xlrd(读)、xlwt(写)
  9. 兼容03版本之前和之后的
  10. https://www.cnblogs.com/yangmeichong/p/10873920.html
  11. openpyxl其实也是pandas模块操作excel的底层模块
  12.  
  13. # 下载
  14. pip3 install openpyxl
  15. 参考网站:https://openpyxl.readthedocs.io/en/stable/

2.Excel文件生成

  1. from openpyxl import Workbook
  2.  
  3. # 生成一个excel文件对象
  4. wb = Workbook()
  5.  
  6. # 创建工作簿,默认是在sheet后面
  7. # w1 = wb.create_sheet('test')
  8. # wb1 = wb.create_sheet('test',0) # 还可以指定索引参数调整test位置
  9. # 调整工作簿的位置
  10. w1 = wb.create_sheet('工作簿01',index=0)
  11. w2 = wb.create_sheet('工作簿02')
  12. w3 = wb.create_sheet('工作簿03')
  13.  
  14. # 二次修改工作簿名称
  15. w1.title = 'MySheet01'
  16.  
  17. # 保存文件
  18. wb.save(r'aaa.xlsx')

3.openpyxl写数据

  1. w1 = wb.create_sheet('工作簿01',index=0)
  2.  
  3. # 写数据方式1
  4. # w1['A1'] = 666
  5. # 写数据方式2:在第2行第1列写数据999
  6. # w1.cell(row=2,column=1,value=999)
  7.  
  8. # 插入公式,注意等号一定要加,还可以写函数(比如excel支持的求和,求差等很多常见的函数)
  9. # w1['A5'] = '=sum(A1:A2)'
  10.  
  11. # 创建表字段数据
  12. w1.append(['序号','姓名','年龄','爱好'])
  13. # 添加表单数据
  14. w1.append([1,'jason',18,'read'])
  15. w1.append([2,'tony',28,'music'])
  16. w1.append([3,'tom',38,'play'])
  17.  
  18. # 数据多了
  19. w1.append([4,'jerry',38,'play','江苏']) # 没有列字段对应
  20. # 数据少了
  21. w1.append([5,48,'run'])
  22. """
  23. 针对缺失的数据 用None或者''占位
  24. """
  25. w1.append([6,None,48,'run'])
  26. w1.append([7,'',66,'read'])
  27.  
  28. # 保存文件
  29. wb.save(r'bbb.xlsx')

4.openpyxl读取数据

  1. from openpyxl import load_workbook
  2.  
  3. wb = load_workbook(r'bbb.xlsx',data_only=True)
    # read_only=True 当读取一个较大的文件时,如果不适用这个参数会导致产生“MemoryError”错误,文件都加载到内存,导致内存空间不足报错
  1. # wb = load_workbook('1.xlsx',read_only=True,data_only=True)
  2. # 获取所有工作簿的名称
  3. # print(wb.sheetnames) # ['工作簿01', 'Sheet']
  4.  
  5. # 指定你需要操作的工作簿
  6. w1 = wb['工作簿01']
  7.  
  8. # 读取数据方式1
  9. # print(w1['A1'].value)
  10. # 读取数据方式2
  11. # print(w1.cell(row=2,column=1).value)
  12.  
  13. # 读取公式单元格数据 默认只能获取到公式
  14. # print(w1['A5'].value) # =sum(A1:A2)
  15. """如果需要获取公式计算之后的结果
  16. 1.wb = load_workbook(r'aaa.xlsx',data_only=True)
  17. 2.针对代码生成的excel文件需要你去操作一下
  18. """
  19. # 读行数据
  20. # for row in w1.rows:
  21. # row_data = [r.value for r in row]
  22. # print(row_data)
  23. # 读列数据
  24. # for col in w1.columns:
  25. # col_data = [c.value for c in col]
  26. # print(col_data)
  27.  
  28. print(w1.max_row) # 查看总共有多少行数据
  29. print(w1.max_column) # 查看总共有多少列字段

openpyxl模块操作Excel的更多相关文章

  1. Python使用openpyxl模块操作Excel表格

    ''' Excel文件三个对象 workbook: 工作簿,一个excel文件包含多个sheet. sheet:工作表,一个workbook有多个,表名识别,如"sheet1",& ...

  2. 使用openpyxl模块将Excel中的数据导入数据库

    这里将不介绍openpyxl模块的详细操作. 主要就是记录一个使用openpyxl模块将Excel表格的数据导入数据库中的实例. from openpyxl import load_workbook ...

  3. 转 Python - openpyxl 读写操作Excel

    Python - openpyxl 读写操作Excel   openpyxl特点   openpyxl(可读写excel表)专门处理Excel2007及以上版本产生的xlsx文件,xls和xlsx之间 ...

  4. openpyxl模块(excel操作)

    openpyxl模块介绍 openpyxl模块是一个读写Excel 2010文档的Python库,如果要处理更早格式的Excel文档,需要用到额外的库,openpyxl是一个比较综合的工具,能够同时读 ...

  5. openpyxl模块处理excel文件

    python模块之——openpyxl 处理xlsx/ xlsm文件 项目原因需要编辑excel文件,经过查询,最先尝试xlwt .wlrd这个两个模块,但是很快发现这两个模块只能编辑xls文件,然而 ...

  6. openpyxl python操作Excel表格,

    这里openpyxl只支持xlsx格式的Excel,openpyxl使用起来会更方便一些,所以如果只操作小流水线文件的话,那么可以优先选择openpyxl,如果要兼容xls的话,就使用xlrd/xlw ...

  7. Python - openpyxl 读写操作Excel

    openpyxl特点   openpyxl(可读写excel表)专门处理Excel2007及以上版本产生的xlsx文件,xls和xlsx之间转换容易 注意:如果文字编码是“gb2312” 读取后就会显 ...

  8. python openpyxl模块实现excel的读取,新表创建及原数据表追加新数据

    当实际工作需要把excel表的数据读取出来,或者把一些统计数据写入excel表中时,一个设计丰富,文档便于寻找的模块就会显得特别的有吸引力,本文对openpyxl模块的一些常见用法做一些记录,方便工作 ...

  9. Python-利用xlrd模块操作excel

    在工作中,无论是数据分析,还是批量导入数据,都会去操作excel,当然,数据分析有数据分析的方法,而我在开发中涉及到的是批量导入excel中的数据, 接下来介绍下如何利用python的xlrd模块来读 ...

  10. 使用xlsxwriter模块和xlrd模块操作Excel表格

    1.xlsxwriter模块介绍:主要用来生成excel表格,插入数据.插入图标等表格操作 如下代码:目的是往demo01.xlsx插入数据和图片 # 导入xlsxwriter模块:主要用来修改表格的 ...

随机推荐

  1. 记录--uniapp微信小程序引入threeJs并导入模型

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 前言 我的需求是使用uniapp写微信小程序,在小程序中使用threeJs就行了,目前暂不考虑兼容app什么的. 1.引入小程序版的thr ...

  2. Linux_Centos 增加中文字体支持

    宋体黑体为例 1.安装字体库 在CentOS 4.x开始用fontconfig来安装字体库,所以输入以下命令即可: sudo yum -y install fontconfig 这时在/usr/sha ...

  3. KingbaseES 查看函数中最耗时的sql

    测试 创建测试环境所需表及函数 create table test1(id int); INSERT INTO test1(id) VALUES (generate_series(1, 10000)) ...

  4. 学习蓝图+行为树实现AI角色的跟随操作

    跟随B站视频学习 准备工作 一个角色蓝图类用来设置AI角色,一个Blackboard--AI的大脑,一个AITree--AI的行为控制,一个AIController蓝图类--定义AI的控制器. 是否发 ...

  5. 在 kubernetes 环境下如何优雅扩缩容 Pulsar

    背景 在整个大环境的降本增效的熏陶下,我们也不得不做好应对方案. 根据对线上流量.存储以及系统资源的占用,发现我们的 Pulsar 集群有许多的冗余,所以考虑进行缩容从而减少资源浪费,最终也能省一些费 ...

  6. c语言的printf常用的一些转换说明符及其含义

    整数类型: %d: 十进制整数 (decimal: 十进制的) %u: 无符号整数 (unsigned: 无符号的) %i: 十进制整数 (integer: 整数) %o: 八进制数 (octal: ...

  7. Android开发 活动activity

    一.关于Activity 关于Activity必须要了解的内容有:Activity的生命周期.android任务栈.Activity启动模式.scheme跳转协议. 1.1  什么是Activity ...

  8. 从零开始学Spring Boot系列-集成MyBatis-Plus

    在Spring Boot应用开发中,MyBatis-Plus是一个强大且易于使用的MyBatis增强工具,它提供了很多实用的功能,如代码生成器.条件构造器.分页插件等,极大地简化了MyBatis的使用 ...

  9. Avalonia的Window生命周期

    Avalonia中的Window 在Avalonia中,Window是一个基本的UI元素,它代表了一个应用程序的窗口.每个Window都可以包含其他的UI元素,如按钮.文本框等,并可以响应各种用户输入 ...

  10. #树状数组#CF461C Appleman and a Sheet of Paper

    题目传送门 分析 可以发现往左翻太多相当于往右翻一点,所以如果翻的位置超过一半那么打一个取反标记再另一边翻转, 用树状数组维护当前厚度,时间复杂度 \(O(n\log^2 n)\) 代码 #inclu ...