自打Python环境准备好之后,就在跟着网上的菜鸟教程学习基本操作、基本概念。学习的过程比较乏味,因为暂时还没有成型的东西,除了感慨Python真神奇,可以打印出各种东西之外,还没能从Python中获利,即还没有真正用Python解决工作生活当中的实际问题。

此时,正巧碰到同事求助,他的第一个困惑是:需要在一个Excel中建若干个Sheet页,并且Sheet名需改为约定的名称。

什么?这还不简单,打开Excel,Shift+F11,嗖嗖嗖N个Sheet新增完成。

那修改Sheet名呢?有快捷键吗?这我还真不知道,如果你知道请告诉我。目前已知有且仅有逐个Sheet双击修改这一操作方式。这波操作,及其简单,如果是三五个也就很快完成了,但如果是三五十个?三五百个呢?(PS:谁会没事在Excel理建三五百个Sheet啊)

这种重复的、机械的双击修改几百次的操作大家肯定是不愿意做的,那么经过研究尝试,这里就给大家介绍一种用Python操作Excel的方法!

01 强大的“模块”

先引入“模块”这一概念。Python之所以火热,我想跟它拥有众多“模块”可供开发者使用有一定关系。那么“模块”到底是什么呢?

模块主要由类和函数组成,表现形式为:写的代码保存为文件。这个文件就是一个模块。*****.py 其中文件名*****为模块名字。

模块中一般会包含如下代码

if __name__=="_main_":

这个文件既可以被其他程序调用,也可以独立运行。

懂了吗?实话说,我完全看不懂。但我自己的理解就是:模块是一段别人已经写好的代码,可供我们直接安装使用,让我们不必从零开始编写代码,避免“重复造轮子”。相关的概念还有包、库、框架,具体含义请见附注,由于目前我也每太弄清楚,因此也就暂时不展开了。

模块可在https://pypi.org/搜索及获取,其安装方法有好多种,比如pip在线安装、whl文件下载安装、tar.gz文件安装等,具体操作网上都有,我也就不赘述了。https://pypi.org/首页

02 xlrd/xlwt和openpyxl

了解了模块的概念之后,我们就来看看操作Excel所用到的具体的模块。在百度上搜索处理Excel的Python模块,基本推荐的都是xlrd/xlwt和openpyxl。这两种模块都能进行Excel文件的操作,那么他们有什么差异呢?

区别一:写入操作。其中xlwt针对Excel2007之前的版本,即.xls文件,其要求单个Sheet不超过65535行,而openpyxl则主要针对Excel2007之后的版本(.xlsx),它对文件大小没有限制。

区别二:读写速度。xlrd/xlwt在读写方面的速度都要优于openpyxl,但无法生成xlsx。所以想要尽量提高效率又不影响结果时,可以考虑用xlrd读取,用openpyxl写入。

由于是第一次使用Python操作Excel,暂时对速度没有要求,因此本次将使用openpyxl。

03 切入需求

说了这么多,终于到了需求实现的阶段了。针对同事的需求,若转化为程序,需要如下步骤:

1、打开Excel

2、获取Sheet1的内容(Sheet1第一列存放需要新建的所有Sheet名称)

3、新建Sheet,并按Sheet1第一列的内容进行重命名

4、保存Excel

话不多说,先上程序和结果。Python程序最终生成的Excel

程序很简单,我都用注释所标注了,与刚才的四步骤一一对应,一步一行代码。可能这就是Python的魅力:简洁高效。接下来,跟大家分享几个我在写这一小段程序中所遇到的问题及解决方法。

04 No such file or directory?

No such file or directory。产生这个错误的原因是程序找不到你的Excel在哪。因为程序只会去相对路径即Pycharm的项目文件夹去搜索,如果没有就会报错。解决方法也很简单:改一下路径或将文件路径写全。如果需要修改路径,就要用到强大的os模块,引入模块后用os.chdir即可修改路径,用os.getcwd()可获得当前路径。

05 路径前的r是什么?

在Python中,反斜杠(\)被看作是一种转义符。所谓转义,就是使字符、格式等与其原来意义不同,转变为另一种含义。来看两个简单例子:\n 代表换行;\t 代表空格。\n与\t举例执行结果

那么问题来了,所有反斜杠(\)都被当作转义符,那如果我真的想输入输出反斜杠(\)怎么办呢?这就是r的意义:用在字符串前,表示取消转义。与r同样作用的还有\\,即转义的转义,是不是很好理解?另外,如果是反斜杠是用在文件路径上,还可以用正斜杠来代替反斜杠,咱们的计算机也是可以识别这种路径地址的。r、\\、/举例执行结果

06 进阶一下

怎么样?用Python实现这个需求是不是很简单呢?但是,细心的你是不是发现了,这个程序如果执行多次,也会建多个Sheet,”机智“的系统会在同名Sheet后加个1变成一个新的Sheet,即“名称1”再执行一次变成“名称11”,再一次变成”名称111“,以此类推。但其实我们并不是想要这样,而是遇到同名的跳过。那此时,我们还需要加个判断语句:当不重名时创建,否则跳过。

至此,整个需求就完全满足了。是不是很简单?不妨自己动手试一试呢!

附 模块&包&库&框架

1、python模块(module)

模块主要由类和函数组成,表现形式为:写的代码保存为文件。这个文件就是一个模块。*****.py 其中文件名*****为模块名字。

模块中一般会包含如下代码:

if __name__=="_main_":

这个文件既可以被其他程序调用,也可以独立运行。

2、python包(package)

包是一个有层次的文件目录结构,它定义了由n个模块或n个子包组成的python应用程序执行环境。通俗一点:包是一个包含__init__.py 文件的目录,该目录下一定得有这个__init__.py文件和其它模块或子包。

3、python库(lib)

库的概念比较抽象,库是实现一定功能的包或模块,库的功能没有框架强大。

4、python框架(framework)

框架跟库类似是从功能上来说的,框架往往集成了多种库的功能,框架是用来辅助开发某个领域功能的一个包,一般包内还会含有多个子包。框架会方便开发,将某类项目中必须实现的代码直接实现,你只需要去关注你与别项目不同的部分。如爬虫框架scrapy、web开发框架Django和flask、大数据框架pyspark等。

python excel sheet_人生苦短我学Python——Excel处理之快速创建多个Sheet并重命名相关推荐

  1. 深度解析:会用Excel,还有必要学Python吗?

    在看到知乎上有个问题: 我都会用Excel了,还有必要学Python吗? 这个问题大概率可以说明问这个问题的这位同学目前还没有遇到非Python不可的场景,之所以产生了学Python的念头是因为这两年 ...

  2. python删除文件夹无法访问_人生苦短 我学Python——anaconda和Jupyter notebook安装使用...

    一.人生苦短 我学Python 为什么学习Python? 1.应用范围广 很多网站是用Python开发的,比如豆瓣,还有YouTube等等. 2.效率高,和其他编程语言对比,可以用少得多的代码写出相同 ...

  3. maya要学python吗_Day1 为什么要学Python?

    为什么要学 Python? 这是一个必须要回答的问题. 这几年 Python 被人捧的很高,朋友圈里各种培训广告,还有诸如潘石屹等大佬带头力挺,加上类似被列入小学教材.高考内容.计算机等级考试项目等新 ...

  4. python ai 教学_【Python AI教学】从零开始学Python AI开发系列01

    原标题:[Python AI教学]从零开始学Python AI开发系列01 欢迎开启新的旅程. 从2016年开始,AI人工智能的热潮扑面而来.而在机器学习和深度学习领域,Python位于最受欢迎的编程 ...

  5. python自学多久可以找到工作-自学Python的高效方法,学Python多久能找到工作?

    原标题:自学Python的高效方法,学Python多久能找到工作? 相信有了解的人都知道,Python目前是首选的AI语言,在数据科学和AI中占据主导地位,而且随着互联网的发展,Python的应用越来 ...

  6. 学习python好学吗-零基础学python难吗?好学吗?

    Python是一种什么语言? Python是一种计算机程序设计语言.你可能已经听说过很多种流行的编程语言,比如非常难学的C语言,非常流行的Java语言,适合初学者的Basic语言,适合网页编程的Jav ...

  7. python自学步骤-零基础学Python应该学习哪些入门知识及学习步骤安排

    众所周知,Python以优雅.简洁著称,入行门槛低,可以从事Linux运维.Python Web网站工程师.Python自动化测试.数据分析.人工智能等职位!就目前来看,Python岗位人才缺口高达4 ...

  8. 【python教程入门学习】学python要多久,0基础学python有多难

    学python要多久,0基础学python有多难,这是很多想学习python语言同学绕不开的问题,都害怕花完钱最终没有应有的回报!对于毫无经验0基础的同学来说学习python什么最重要,方向选对坚持下 ...

  9. 学好python需要哪些基础_学Python要避免哪些坑,如何巩固好基础

    学Python要避免哪些坑?零基础怎么入门Python?Python入门简单.语法简洁.功能强大,非常适合零基础入门IT行业的人学习.随着人工智能时代的来临,企业纷纷选择使用Python进行开发,Py ...

最新文章

  1. 优化webpack配置
  2. DFS+剪枝 hdu 5113 Black And White
  3. centeros php pgsql,centos php添加pgsql扩展
  4. 白话Elasticsearch61-进阶篇之基于Term Vectors深入探查数据的情况
  5. 配置IIS服务器提供APP文件下载
  6. 蓝港CIO韩明顺谈零售数字化转型:面向体验、玩转数据
  7. priority_queue优先队列
  8. 开源免费的.NET图像即时处理的组件ImageProcessor
  9. thinkphp开发卡密社区系统
  10. 上海市职业介绍中心长宁分中心武夷路513-517号(021)62400032-229
  11. python pillow无法安装_Pillow
  12. 消息中间件--RabbitMQ --- 消费端限流 -- 非常重要
  13. QListView超简单的更新列表
  14. 自动补全 (自定义)拼音分词器 搜索时注意事项
  15. 计算机技术对艺术设计的影响,计算机对艺术设计有何影响
  16. xp怎么看自己计算机密码,XP如何查看wifi密码?
  17. pixi.js 实现Sprite跟随鼠标移动
  18. 误传了数千年的几个名句
  19. 基于JAVA汽车租赁系统计算机毕业设计源码+系统+lw文档+部署
  20. 手把手教你移植 tinyriscv 到FPGA上

热门文章

  1. 鸿蒙系统怎么刷emui11教程
  2. 申宝证券-市场呈现出震荡分化走势
  3. 《dota2》地精修补匠tinker路人攻略
  4. C++ RGB颜色(非图形化界面)
  5. 山澤損 (易經大意 韓長庚)
  6. html文件上传到云服务器,把html文件上传到云服务器上
  7. vue H5页面制作微信公众号前期准备
  8. 怎么用命令改变legend在图中的位置
  9. 第八章、所有者权益及损益的核算
  10. NormalEstimation法向量估计理论和代码---PCL源码笔记