python操作excel——openpyxl
一、概述
python操作excel各个库对比:https://www.cnblogs.com/paul-liang/p/9187503.html
操作老版本的excel文件使用xlrd:参考:https://segmentfault.com/a/1190000017485618
https://www.cnblogs.com/zhang-jun-jie/p/9273721.html
官方文档:https://openpyxl.readthedocs.io/en/stable/#usage-examples
二、入门
1.安装:
pip install openpyxl
conda:
conda install openpyxl
2.创建excel文件
from openpyxl import Workbook # 实例化一个工作簿
wb = Workbook()
# 激活工作簿
ws = wb.active
3.打开已有文件
from openpyxl import load_workbook
wb2 = load_workbook('文件名称.xlsx')
通过value访问单元格内容
from openpyxl import load_workbook def main():
file = 'D:\1.xlsx'
wb = load_workbook(file)
ws = wb.active
# 通过value访问内容
A1 = ws['A1'].value
print(A1) if __name__ == '__main__':
main()
4.单元格赋值
ws['A1'] = 42
5.单元格访问
c = ws['A4']
d = ws.cell(row=4, column=2, value=10)
一个实际遍历的案例:
from openpyxl import load_workbook def main():
file = 'D:\工作文件\浙江省教育厅\疫情数据\gdsqzmpqk.xlsx'
wb = load_workbook(file)
ws = wb.active
# 可以通过最大行列进行输出遍历
# 获取最大行
row_max = ws.max_row
# 获取最大列
col_max = ws.max_column
# for row in ws.rows:
# for cell in row:
# print(cell.value, '\t', end='')
# print()
for i in range(2, row_max + 1):
for j in range(1, col_max):
print(ws.cell(row=i, column=j).value, '\t', end='')
print() if __name__ == '__main__':
main()
6.保存文件
wb.save('文件名称.xlsx')
更多参考:https://blog.csdn.net/weixin_43094965/article/details/82226263
读取excel导入mysql的案例:
from openpyxl import load_workbook
import pymysql def write_db(t_sql, t_data):
# 打开数据库连接
db = pymysql.connect('127.0.0.1', 'root', 'root', 'test', charset='utf8')
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
# 使用 execute() 方法执行 SQL 查询
cursor.executemany(t_sql, t_data)
# 提交
db.commit()
db.close() def read_excel(filename):
wb = load_workbook(filename)
ws = wb.active
cell_list = []
row_list = []
for row in tuple(ws.rows):
# 清空列表
cell_list.clear()
for cell in row:
cell_list.append(str(cell.value))
row_list.append(cell_list)
return row_list if __name__ == '__main__':
file = 'D:\1.xlsx'
sql = 'INSERT INTO mpqk VALUES(%s,%s,%s,%s,%s,%s,%s,%s,%s)'
data = read_excel(file)
write_db(sql, data)
print('SUCCESS!')
python操作excel——openpyxl的更多相关文章
- python操作excel (openpyxl)
最近看到好几次群里有人问xlwt.wlrd的问题,怎么说呢,如果是office2007刚出来,大家用xlsx文件用不习惯,还可以理解,这都10年过去了喂,就算没有进化到office2016,还在用of ...
- python 操作excel openpyxl
1 安装 pip install openpyxl 如果装不上,请指定安装源来安装 pip install -i https://pypi.douban.com/simple openpyxl 如果e ...
- Python操作excel(xlrd和xlwt)
Python操作excel表格有很多支持的库,例如:xlrd.xlwt.openpyxl.win32com,下面介绍使用xlrd.xlwt和xlutils模块这三个库不需要其他的支持,在任何操作系统上 ...
- Python 利用Python操作excel表格之openyxl介绍Part2
利用Python操作excel表格之openyxl介绍 by:授客 QQ:1033553122 欢迎加入全国软件测试交流qq群(群号:7156436) ## 绘图 c = LineChart() ...
- Python 利用Python操作excel表格之openyxl介绍Part1
利用Python操作excel表格之openyxl介绍 by:授客 QQ:1033553122 欢迎加入全国软件测试交流qq群(群号:7156436),免费获取以下性能监控工具(类似Nmon精简版) ...
- 运营的Python指南 - Python 操作Excel
这是一份写给运营人员的Python指南.本文主要讲述如何使用Python操作Excel.完成Excel的创建,查询和修改操作. 相关代码请参考 https://github.com/RustFishe ...
- 用Python操作excel文档
使用Python第三方库 这一节我们学习如何使用Python去操作Excel文档.如果大家有人不知道Excel的话,那么建议先学一学office办公基础.这里想要操作Excel,必须安装一个Pytho ...
- 使用Python操作Excel文档(一)
Python | 使用Python操作Excel文档(一) 0 前言 在阅读本文之前,请确保您已满足或可能满足以下条件: 请确保您具备基本的Python编程能力. 请确保您会使用Excel. 请确保您 ...
- python操作excel表格(xlrd/xlwt)
最近遇到一个情景,就是定期生成并发送服务器使用情况报表,按照不同维度统计,涉及python对excel的操作,上网搜罗了一番,大多大同小异,而且不太能满足需求,不过经过一番对源码的"研究&q ...
随机推荐
- Seata 动态配置订阅与降级实现原理
Seata 的动态降级需要结合配置中心的动态配置订阅功能.动态配置订阅,即通过配置中心监听订阅,根据需要读取已更新的缓存值,ZK.Apollo.Nacos 等第三方配置中心都有现成的监听器可实现动态刷 ...
- 17、Learning and Transferring IDs Representation in E-commerce笔记
一.摘要 电子商务场景:主要组成部分(用户ID.商品ID.产品ID.商店ID.品牌ID.类别ID等) 传统的编码两个缺陷:如onehot,(1)存在稀疏性问题,维度高(2)不能反映关系,以两个不同的i ...
- Koadic的安装和使用---http c2远控工具
Koadic的安装和使用 2017.11.26 11:02 字数 690 阅读 611评论 0喜欢 2 概述 Koadic是DEFCON分型出来的一个后渗透工具,主要通过vbscript.jscr ...
- 后台返回的Json为null的字段不显示的方法
如果引入的是谷歌的gson的话,需要引入依赖: <dependency> <groupId>com.fasterxml.jackson.core</groupId> ...
- EntityFramework6 学习笔记(一)
1.什么是EF? EF是一种ORM(Object-relational mapping)框架,它能把我们在编程时使用对象映射到底层的数据库结构.比如,你可以在数据库中建立一个Order表,让它与程序中 ...
- Tips on Blind Source Separation
盲源分离是指在不知道源信号和信道传输参数的情况下,根据输入信号的统计特性,仅由观测信号恢复出源信号各个独立成分的过程.盲源分离研究的信号模型主要有三种:线性混合模型.卷积混合模型和非线性混合模型. 1 ...
- 洛谷 P2746 [USACO5.3]校园网 Network of Schools 题解
Tarjan 模板题 第一问就是缩点之后看有多少个入度为零的点就好了. 第二问是在缩点后将每个点的入度和出度都求出(只要有入度或出度就置为1),然后比较哪个有值的多,将多的作为答案输出.原因是由题可得 ...
- know thself
- 2019.12.11 java程序中几种常见的异常以及出现此异常的原因
1.java.lang.NullpointerException(空指针异常) 原因:这个异常经常遇到,异常的原因是程序中有空指针,即程序中调用了未经初始化的对象或者是不存在的对象. 经常出现在创建对 ...
- Dump文件的校验查看工具
当我们抓取到Dump文件后,我们抓取的方式对不对,是否包含了我们想要的信息,可不可用,又或这个文件在抓取或传输过程种,有没有损坏,又或者我不想用Windbg进行细致的分析,只想大概了解下异常信息,在这 ...