1.openpyxl模块了解

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

2.Excel文件生成

from openpyxl import Workbook

# 生成一个excel文件对象
wb = Workbook() # 创建工作簿,默认是在sheet后面
# w1 = wb.create_sheet('test')
# wb1 = wb.create_sheet('test',0) # 还可以指定索引参数调整test位置
# 调整工作簿的位置
w1 = wb.create_sheet('工作簿01',index=0)
w2 = wb.create_sheet('工作簿02')
w3 = wb.create_sheet('工作簿03') # 二次修改工作簿名称
w1.title = 'MySheet01' # 保存文件
wb.save(r'aaa.xlsx')

3.openpyxl写数据

w1 = wb.create_sheet('工作簿01',index=0)

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

4.openpyxl读取数据

from openpyxl import load_workbook

wb = load_workbook(r'bbb.xlsx',data_only=True)
# read_only=True 当读取一个较大的文件时,如果不适用这个参数会导致产生“MemoryError”错误,文件都加载到内存,导致内存空间不足报错
# wb = load_workbook('1.xlsx',read_only=True,data_only=True)
# 获取所有工作簿的名称
# print(wb.sheetnames) # ['工作簿01', 'Sheet'] # 指定你需要操作的工作簿
w1 = wb['工作簿01'] # 读取数据方式1
# print(w1['A1'].value)
# 读取数据方式2
# print(w1.cell(row=2,column=1).value) # 读取公式单元格数据 默认只能获取到公式
# print(w1['A5'].value) # =sum(A1:A2)
"""如果需要获取公式计算之后的结果
1.wb = load_workbook(r'aaa.xlsx',data_only=True)
2.针对代码生成的excel文件需要你去操作一下
"""
# 读行数据
# for row in w1.rows:
# row_data = [r.value for r in row]
# print(row_data)
# 读列数据
# for col in w1.columns:
# col_data = [c.value for c in col]
# print(col_data) print(w1.max_row) # 查看总共有多少行数据
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. 记录--什么时候会阻塞HTML文档渲染过程?

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 HTML页面加载过程会发生什么?因为浏览器网络拉取资源是多线程的,但是dom树的操作都是在一个线程中的,所以网页资源的解析.js加载.do ...

  2. %USERPROFILE% 查看系统变量

    %USERPROFILE% =C:\Users\用户名 win+r,输入cmd 回车 在cmd窗口下输入 set 回车,可以查看系统变量(想要了解更多 set 命令请看 这里)

  3. Avalonia发布MacOS运行程序

    1 打开xxx.csproj项目文件,添加Dotnet.Bundle包: <PackageReference Include="Dotnet.Bundle" Version= ...

  4. cadence软件画版图操作

    cadence软件操作 1.原理图设计 电路的原理图设计和许多的电路设计软件是类似的,这里大致介绍一下基本的操作. 首先是新建一个cell的原理图: library manager>file&g ...

  5. KingbaseES V8R6集群部署案例之---openEuler系统脚本部署故障

    案例说明: 在openEuler系统下通过脚本方式部署KingbaseES V8R6集群,脚本执行过程中,加载vip失败.本次故障问题,主要是因为openEuler系统shell和脚本的不兼容引起. ...

  6. KingbaseES V8R3 集群运维系列之 -- network_rewind.sh磁盘检测功能详解

    ​ 案例说明: 在KingbaseES V8R3集群,network_rewind.sh用于当节点数据库服务down时,实现数据库服务的自动恢复功能.在network_rewind.sh执行时,会对数 ...

  7. #根号分治,树形dp#CF1039D You Are Given a Tree

    题目 给定一棵树,对于 \(k\in [1,n]\) 问最多可以分成多少段长度为 \(k\) 的不交路径 分析 首先考虑对于单个 \(k\) 怎么做. 设 \(dp[x]\) 表示点 \(x\) 往下 ...

  8. #Multi-SG#HDU 3032 Nim or not Nim?

    题目 有\(n\)堆石子,每次可以从一堆中取出若干个或是将一堆分成两堆非空的石子, 取完最后一颗石子获胜,问先手是否必胜 分析 它的后继还包含了分成两堆非空石子的SG函数,找规律可以发现 \[SG[x ...

  9. C 语言注释和变量详解

    C 语言中的注释 C语言中可以使用注释来解释代码并使其更具可读性.它还可以在测试替代代码时防止执行. 单行注释 单行注释以两个斜杠 (//) 开头. // 和行末之间的任何文本都会被编译器忽略(不会被 ...

  10. Docker学习路线6:使用第三方镜像

    第三方镜像是在Docker Hub或其他容器注册表上提供的预构建Docker容器镜像.这些镜像由个人或组织创建和维护,可以作为您容器化应用程序的起点. 查找第三方镜像 Docker Hub 是最大和最 ...