python操作Excel

openpyxl模块

0.介绍

openpyxl是一个Python库,用于读取/写入Excel 2010 xlsx / xlsm / xltx / xltm文件。

它的诞生是因为缺少可从Python本地读取/写入Office Open XML格式的库。

作为openpyxl,对PHPExcel团队的所有赞誉最初都是基于PHPExcel。

安全

默认情况下,openpyxl不能防范二次爆炸或数十亿次的xml笑话攻击。为了防止这些攻击,请安装defusedxml。

必知

在使用openpyxl模块前,需要了解openpyx中名称的概念:

在openpyxl中,主要用到三个概念:Workbook,Sheet,Cell

Workbook:指一个工作簿;

Sheet:指工作簿中的一张表;

Cell:指表中的一个单元格。

openpyxl在读或写时顺序为:打开Workbook,定位Sheet,操作Cell

1. 安装

pip3 install openpyxl

2. 创建工作簿

from openpyxl import Workbook

wb = Workbook()

创建一个工作簿之后,会默认生成一个工作表 (Sheet) 。您可以使用Workbook.active属性来获取它

ws = wb.active

默认情况下设置为0。除非您修改其值,否则始终将使用此方法获得第一个工作表。

3. 创建工作表

通过 Workbook.create_sheet( ) 方法创建新的工作表

Workbook.create_sheet( ) 的参数依次是title=表名,索引=index,默认索引追加在默认的Sheet表后面

# 创建两张表

sheet1 = wb.create_sheet('表1')

sheet2 = wb.create_sheet('表2')

# 表的顺序(Sheet,表1,表2)

4. 保存工作簿

# 保存工作簿,filename='文件的地址'

# 如果文件名相同的话,后面的文件会覆盖原来文件的内容

wb.save('demo.xlsx')

5. 数据的三种写入方式

5.1 通过定位单元格写入

# 语法: 表['单元格名称'] = '值'

sheet1['A1'] = '我是A1' # 不区分大小写

5.2 通过行列定位

# 通过row(行),column(列),定位指定单元格 添加数据

# 第二行第一列的单元格

sheet1.cell(row=2, column=1).value = '你好'

5.3 通过append方法

append( )方法的参数是一个可迭代对象, 可以批量添加, 而且自带默认换行.

# append(iterable)追加,默认从当前表格的末尾追加,自动换行

sheet1.append(['我是A1', '我是B1', '我是C1'])

sheet1.append(['我是A2', '我是B2', '我是C2'])

# 一次追加多行

data_list = [

['1','2','3'],

['4','5','6'],

['7','8','9'],

]

for item in data_list:

sheet1.append(item)

6. 读取本地工作簿

6.1 获取本地工作簿对象

wb = openpyxl.load_workbook(r'D:\demo1.xlsx')

6.2 获取工作簿下的所有表名

# 返回一个列表,每个元素都是表名

names = wb.sheetnames

# 通过for循环查询

for sheet in wb:

print(sheet.title) # 表.title = '表名'

6.3 获取工作簿的表

wb.active

始终获取当前工作簿的第一张表

通过表名的key

ws = wb['表1']

通过表名获取

ws = wb.get_sheet_by_name('表1')

6.4 循环获取由表格的值组成的矩阵

即循环表格中的值,这种方法,不能设置读取范围

for row in ws.values:

print(row) # row是每行的数据组成的元组

6.5 可设置范围的读取

循环表中的每一行

可以设置范围 range_string= 'A1:B1' 矩阵范围

min_row=1,min_col=1 最小行从第1行,最小列从第1列 开始默认到数据最大行最大列

max_row=3,max_col=3 最大行只到第3行 ,最大列只到第3列 默认从第一行第一列开始

values_only=True 只读

for row in ws.iter_rows(min_row=2, min_col=2):

for cell in row:

print(cell.value) # cell.value = '单元格的值'

关于三个对象的常用属性

wb.sheetnames

返回工作簿下的所有表名

wb.active

返回第一张表

ws.title

表名

cell.value

单元格的值

python设置excel自动换行_python操作excel相关推荐

  1. python设置excel自动换行_python操作excel的方法(xlsxwriter包的使用)

    本文介绍python操作excel的方法(xlsxwriter包的使用),具体内容如下 xlsxwriter包的安装 pip install xlsxwriter Workbook类 创建一个exce ...

  2. python设置excel自动换行_python 操作Excel 设置格式

    在 Excel 中,调整行和列的大小非常容易,只要点击并拖动行的边缘,或列的 头部.但如果你需要根据单元格的内容来设置行或列的大小,或者希望设置大量电 子表格文件中的行列大小,编写 Python 程序 ...

  3. python设置excel自动换行_Python处理Excel实战3—单元格相关设置等

    用Python处理Excel的实质即是用编程来替代手动操作,对于处理日常经常需要处理规律性的数据,可以较大地解放生产力.本文主要涉及处理以下内容: 1.取消单元格合并 2.合并单元格 3.写入公式 4 ...

  4. python实现excel函数_python操作excel

    长期以来都想用python对Excel进行一些列的操作,但由于某种神秘的力量控制着我,一直未果,今天有幸用requests模块和BeautifulSoup模块进行爬虫练习,拿到了一大批数据,照我以前, ...

  5. python让工作自动化_python操作excel让工作自动化

    某局某领导给了3只excel文件,一只里面有4个sheet需要处理,一个sheet有250+列,算下来总共有3000+列需要手动反复插入.删除列.拷贝.求和,所以给了4天的时间要完成. 我不愿意做大量 ...

  6. python表格处理工具_python 操作excel表格的方法

    说明:由于公司oa暂缺,人事妹子在做考勤的时候,需要通过几个excel表格去交叉比对员工是否有旷工或迟到,工作量大而且容易出错. 这时候it屌丝的机会来啦,花了一天时间给妹子撸了一个自动化脚本. 1. ...

  7. python数字求和程序_python操作excel求和

    这里介绍如何用python来自动完成我们的excel工作. 本文的目的是展示一些常见的Excel任务,以及如何在python pandas中执行类似的任务.例子微不足道,但重要的是通过这个例子来循序渐 ...

  8. python添加excel模块_python操作Excel模块openpyxl

    1. 安装 pip install openpyxl 想要在文件中插入图片文件,需要安装pillow,安装文件:PIL-fork-1.1.7.win-amd64-py2.7.exe · font(字体 ...

  9. python控制excel选择区域_python操作excel常用的方法

    读操作模块安装 pip install xlrd 写操作模块安装 pip install xlwt xlrd读操作 1.打开excel xl = xlrd.open_workbook('test.xl ...

最新文章

  1. 一周的微信公众平台接口开发总结
  2. golang 正则使用总结
  3. jvm性能调优实战 - 24模拟因动态年龄判断对象进入老年代的场景
  4. make警告:检测到时钟错误。您的创建可能是不完整的
  5. 前端基础之CSS_1
  6. java 缓存的简单实现_Java8简单的本地缓存实现
  7. .NET6正式版将近,70%开发者或面临技术断层!
  8. SQL Server Query界面不能录入中文
  9. 论文英文参考文献[10]的时候后面多空格_大学生没有任何论文写作经验,该如何快速写好论文?...
  10. okhttp框架学习
  11. C++_类和对象_C++继承_基本语法---C++语言工作笔记061
  12. SQL对某个字段分组并加序号
  13. java实现在线预览word(docx)功能
  14. Javascript+PHP实现在线拍照功能
  15. 如何自定义Mac锁屏界面消息?
  16. 前缀im-,in-,il-,ir-的使用规律
  17. Python编程从入门到实践---pygame精灵组
  18. 工作记录——tomcat部署web应用常见问题和处理方法
  19. 自动化办公:2、Python自动化之Excel读取表格+设置样式
  20. 我的数字IC学习路线

热门文章

  1. ie 8无法安装因为您的计算机上,win10系统无法安装iE8 提示“此安装不支持您的操作系统的方案介绍...
  2. 关于电子电路的一些硬件资料分享
  3. 智能电话机器人的套路你知道多少?
  4. Spring Boot 中关于 %2e 的 坑,希望你不要遇到
  5. 用Canvas写桌球游戏!!!
  6. 其实华为手机长按2秒屏幕,就能一键翻译全文!你不会不知道吧
  7. 《网络攻防》第五周学习总结
  8. 《OpenHarmony开源鸿蒙学习入门》-- 系统相机应用源码解析(一)
  9. 2022年辽宁最新建筑八大员(电气)模拟考试题库及答案
  10. jupyther_python基础系列 08 第八章 文件异常和模块