python写excel文件头_Python帮你做Excel——写入Excel文档
上一篇文章我们学习了如何使用openpyxl读取excel数据。当然除此之外,我们还可以向excel文档中写入数据。写入数据的过程在某种程度上与读取数据的过程十分类似。我们可以创建excel工作表,在单元格内写入文字、数字或方程,在修改完毕之后关闭文件。此外我们还会创建、删除工作表,应用设置、字体和样式,设置单元格和工作区的宽度和高度,合并和取消合并单元格。
Let's GOOOOOOO!
Excel文档创建与保存
首先我们需要学习如何用python创建与保存文档。先导入openpyxl模块,并且创建一个工作簿
>>> import openpyxl
>>> mywb = openpyxl.Workbook()
上面的代码会创建一个只包含一个工作表的工作簿,如上一章描述的那样,我们可以用下列代码确认工作表的名字,数量和活动的工作表。
>>> mywb.get_sheet_names()
['Sheet']
>>> sheet = mywb.active
>>> sheet.title
'Sheet'
现在我们可以修改工作表的名字,示例如下
>>> sheet.title = 'MyNewTitle'
>>> wb.get_sheet_names()
['MyNewTitle']
>>>mywb.save('NewExcelFile.xlsx')
这样一个新的excel文件就创建完成了,此时如果你打开你的当前工作路径就可以看到刚刚创建的文件——‘NewExcelFile’工作簿里有唯一的一个叫做‘MynewTitle’的工作表。
载入Excel文件并保存
在把一个现有的excel文件读入内存,并对它进行一系列修改之后,必须使用save()方法,将其保存,否则所有的更改都会丢失。不过保存副本的方法其实非常简单,只是将读取excel文件与保存文件的方法结合起来即可,详见下面的代码
>>> import openpyxl
>>> mywb = openpyxl.load_workbook('filetest.xlsx')
>>> sheet = mywb.active
>>> sheet.title = 'Working on Save as'
>>> mywb.save('example_filetest.xlsx')
从上面的代码我们可以看到,我们读取了一个已经存在的文件,更改了工作表的名字然后保存了一个工作簿副本。在这个案例当中原工作簿与新创建的工作簿都会在你的工作路径里,你可以尝试打开看一下,是否按照你的思路成功更改了工作表名。
通常用python修改excel文件时,最好能保存为一个与原文件不同名字的副本,这样能预防你的程序中存在bug或者工作时出现任何错误。
创建新的工作表
要在工作簿中创建一个新的工作表,只需使用create_sheet()方法即可。类似的,要删除一个工作表只需使用remove_sheet()方法即可。
>>> import openpyxl
>>> mywb = openpyxl.Workbook()
>>> mywb.get_sheet_names()
['Sheet']
>>> mywb.create_sheet()
>>> mywb.get_sheet_names()
['Sheet', 'Sheet1']
>>> wb.create_sheet(index=0, title='1st Sheet')
>>> mywb.get_sheet_names()
['1st Sheet', 'Sheet', 'Sheet1']
>>>mywb.create_sheet(index=2, title='2nd Sheet')
>>>mywb.get_sheet_names()
['1st Sheet', 'Sheet', '2nd Sheet', 'Sheet1']
使用create_sheet()方法创建的新工作表默认排在工作簿的最后一个,当然我们也可以用index具体规定新建工作表的位置,并且还可以在创建的同时对其命名。使用index排序的规则继承了python的排序方法,index从0开始。
删除工作表
当我们想删除一个特定的工作表的时候,使用remove_sheet()方法,具体展示如下
>>>mywb.get_sheet_names()
['1st Sheet', 'Sheet', '2nd Sheet', 'Sheet1']
>>> mywb.remove_sheet(mywb.get_sheet_by_name('1st Sheet'))
>>> mywb.remove_sheet(mywb.get_sheet_by_name('Sheet1'))
>>> mywb.get_sheet_names()
['Sheet', '2nd Sheet']
从上述代码中可以看出,在真正删除一个工作表之前,我们需要选中一个工作表对象。remove_sheet()方法将一个工作表对象作为输入,而不是工作表名。使用get_sheet_by_name()方法,输入工作表名,即可返回一个工作表对象了。当然在最后不要忘记使用save()方法对所作更改进行保存。
向单元格写入数据
现在我们终于来到了如何在选定的单元格中写入数据。其实方法也非常简单,见下
>>> import openpyxl
>>> mywb = openpyxl.Workbook()
>>> mysheet = mywb.get_sheet_by_name('Sheet')
>>> mysheet['F6'] = 'Writing new Value!'
>>> mysheet['F6'].value
'Writing new Value'
从上述代码可以看到,直接向单元格进行赋值即可写入数据。如果你还记得第一章的内容的话,你一定知道,还有另一种方法可以指向单元格的值。我们同样可以用cell()函数指向单元格,并且对其写入数据,示例如下
>>> import openpyxl
>>> mywb = openpyxl.Workbook()
>>> mysheet = mywb.get_sheet_by_name('Sheet')
>>> mysheet.cell(row=2, column=4).value = 'Let\'s try again!'
>>> mysheet['D2'].value
'Let\'s try again!'
注意,使用cell()函数进行写入时,必须使用value方法,否则就会发生下述的错误
>>> mysheet.cell(row=2, column=4) = 'Let\'s try again!'
File "", line 1
SyntaxError: can't assign to function call
向单元格写入方程
excel中的方程是一项非常重要的功能,实际上工作簿的威力就在于它的方程。我们可以使用openpyxl在任何指定的单元格中输入公式,我们需要做的只不过是对单元格赋值一个等号以及你想写的公式,就像这样
>>>mysheet['F6'] = '=Sum(D7:D20)'
看上去与向单元格写入数据的方法并没有什么区别,只是加了等号的公式而已。上面的公式会将D7至D20单元格中所有的数值相加,并存入F6单元格。让我们来看看别的例子
>>> import openpyxl
>>> mywb = openpyxl.Workbook()
>>> mysheet = mywb.active
>>> mysheet['F6'] = 500
>>> mysheet['F7'] = 800
>>> mysheet['D3'] = '=SUM(F6:F7)'
>>> mywb.save('Applyingformula.xlsx')
这个例子是对方程使用的一个完整的呈现,我们在F6中输入500,在F7单元格中输入800。单元格D3有一个把F6和F7加起来的公式。打开电子表格以后,你就会在D3看到1300的数值。
那么至此,我们已经学完了如何读取,写入,修改以及保存excel文件。那么接下来我们将学习如何对表格进行设置和调整,以及如何用openpyxl画图。
敬请期待啦!!!
python写excel文件头_Python帮你做Excel——写入Excel文档相关推荐
- python无法读取excel文字_Python帮你做Excel——读取Excel文档
相信很多坐在办公室上班的朋友每天都需要处理大量的数据,我们常常用Excel制作电子表格来帮助我们处理它们.这当然是一种非常好的做法,但是我相信大家都会发现,很多表格的内容其实大同小异,常常需要我们把同 ...
- python写水仙花的作文_python自动打开浏览器下载zip,并且提取内容写入excel
佬们轻喷,里面有些代码都是现学现写的,一些细节没处理好的地方还请指出来~~~ 首先贴上效果图:有些部分我没有放进来,比如浏览器的启动,但我详细聪明的你们那个玩意肯定一学就会. 下载 使用到的库和总体思 ...
- c# npoi 2.5版本设置字体加粗_Python帮你做Excel——格式设置与画图
之前两篇文章已经向大家讲解了如何利用python读取和写入数据,本次就向大家介绍一下如何使用openpyxl对excel文件进行设置,以及如何在excel文件中绘制图表. 设置字体 使用python对 ...
- python写个礼物送人_python写七夕硬核礼物!
明天就是七夕了! 如果有对象,祝早生贵子!没有对象,祝早结连理! (搞笑一下,祝大家幸福美满吧,嘿嘿嘿) 给大家准备了一份已经写好的代码,利用python+opencv+openpyxl,opencv ...
- python自动打开浏览器下载zip,并且提取内容写入excel
佬们轻喷,里面有些代码都是现学现写的,一些细节没处理好的地方还请指出来~~~ 首先贴上效果图:有些部分我没有放进来,比如浏览器的启动,但我相信聪明的你们那个玩意肯定一学就会.有些东西我没放进来 代码思 ...
- python开发游戏引擎_用Python写3A?Cygames的游戏引擎做得怎么样
有句话叫"二流的游戏公司做游戏,一流的游戏公司做平台".索尼.任天堂.微软这些主机公司,除了推出第一方游戏以外,当然也在维护自家的游戏系统. 其实,以<公主连结RE:Dive ...
- python指定数据写入指定excel_python脚本——生成EXCEL,连接数据库,并将指定数据写入EXCEL...
#!/usr/bin/python # -*- coding: utf-8 -*- #!/usr/bin/env python import MySQLdb import sys import xls ...
- 用python写个桌面挂件 | 手把手带大家做只桌面宠物
既然要写个桌面宠物,首先当然是要找宠物的图片素材啦.这里我们使用的是来自shimiji这款手机APP上的宠物图片素材,例如皮卡丘: 我下了大约60多种宠物的图片素材供大家选择: 在相关文件里都打包一起 ...
- 利用python写个桌面挂件,带大家做只桌面宠物
转载自品略图书馆 http://www.pinlue.com/article/2020/05/2516/2110606798446.html 导语 前段时间有小伙伴留言说想让我带大家写写桌面小挂件,今 ...
- python桌面宠物模块_利用python写个桌面挂件 | 手把手带大家做只桌面宠物呗
导语 前段时间有小伙伴留言说想让我带大家写写桌面小挂件,今天就满足一下留过类似言的小伙伴的请求呗~不过感觉写桌面的挂历啥的没意思,就简单带大家做一只桌面宠物吧~ 废话不多说,让我们愉快地开始吧~ 开发 ...
最新文章
- 【通俗理解线性代数】 -- 内积与相关
- 如何导入别人的android studio项目,解决gradle版本不兼容问题
- 千米感知误差低于5%,嬴彻发布全球领先的超长距精准3D感知技术
- 服务器自动登录 linux,linux下如何自动登录远程服务器?
- Taro+react开发(80):状态改变的构造函数
- JavaScript:this是什么?
- SQL 递归查询最顶级目录
- 智能家居有线系统KNX的介绍
- 怎样看oracle删掉没有,肿么查看以前Oracle卸载干净没
- python微信api_微信公众平台 Python 开发包文档
- POSTGRESQL 设置hugepage 可以让系统使用内存更有效率,防止OOM
- html基础、h5c3高级c3动画 、 JavaScript初高级、css预处理器和git 部分面试题
- Apollo(阿波罗)(一)环境搭建
- C. Get an Even String
- Bridging the Gap Between Anchor-based and Anchor-free Detection
- 通过分析134家企业征信牌照机构可见企业征信备案之难
- SQLServer LDF日志文件过大解决方案 2021-09-26
- IDEA中jpg文件或png文件显示乱码处理方法
- 带emoji表情的react输入框组件
- 精选(63) 面试官:说一下的 dubbo 的工作原理?注册中心挂了可以继续通信吗?说说一次 rpc 请求的流程?