美文网首页
Day058|用Python处理excel数据之一

Day058|用Python处理excel数据之一

作者: 龙渊的宝藏 | 来源:发表于2021-06-02 16:06 被阅读0次

    今天是Andy学Python的第58 天哦! 

    大家好,我是Andy。

    应朋友的要求,我将尝试运用所学Python基础+网上教程,争取一个月帮朋友搞定项目。今天首先学习如何用Python处理excel数据。

    01.

    openpyxl介绍

    目前主流的处理excel表格的python库:

    1.1 xlrd主要是读操作,效率高,适用于xls、 xlsx与xlsm。

    1.2 xlwt:主要对xls文件进行写操作且效率高,仅适用于xls。

    1.3 openpyxl 通过“工作簿workbook - 工作表 sheet - 单元格 cell” 的模式对 .xlsx 文件进行读、写、改、存,仅适用于xlsx、xlsm

    1.4 xlwings 能够非常方便的读写 Excel 文件中的数据,并且能够进行单元格格式的修改,可读、可写、可修改、可保存,适用于xls与 xlsx。

    今天主要学习openpyxl。

    openpyxl是用于读取/写入Excel 2010 xlsx/xlsm文件的Python库,也就是说openpyxl这个Python库不支持xls文件的读取和操作。

    02.

    安装

    安装Anaconda集成开发环境时,己经安装了openpyxl库,直接导入就可以使用。

    顺便插一句,就目前而言,我一直使用的是Anaconda。据介绍,Anaconda包含100+个最流行的Python软件包,可以说它捆绑了开始Python之旅所需的几乎所有东西。这就为我们提供了一种轻松快速的方法来开始进行Python学习,尤其适合初学者,当然对经验丰富的开发人员也非常有用,因为我们无需担心单独安装进行各种工具包、开发环境、Python版本,从而节省了大量时间和精力。虽然有很多Anaconda可能无法涵盖的软件包,可以通过Pip手动安装或从源代码构建,但对我来说——学习Python近两个月的新手小白——还没遇到。

    03.

    打开excel

    正式学习openpyxl之前,介绍下中英文以excel的称呼。

    Workbook:工作薄或excel表格

    Worksheet or Sheet:工作表

    Column:列

    Row:行

    Cell:单元格

    我首先建立在python当前工作目录下建立一个test.xlsx的空白文件。

    3.1 导入模块

    import openpyxl

    或者

    from openpyxl import Workbook

    3.2 打开工作表,获取工作薄中各工作表名称

    import openpyxl

    wb = openpyxl.load_workbook('test.xlsx')  # 打开工作薄

    wb.sheetnames   # 查看工作簿中所有工作表的名称

    示例:

    3.3 创建、保存工作薄

    将刚才新建的text.xlsx文件删除。

    1、创建一个新的名为test.xlsx工作薄。

    2、在工作簿上第一个位置新建一个名为“test1”的工作表。

    from openpyxl import Workbook

    wb = Workbook()  # 创建一个工作簿对象

    ws = wb.create_sheet('test1',0)  # 在索引为0的位置创建一个名为test1的工作表

    ws.sheet_properties.tabColor = 'c9381c'  # 将工作表设置颜色

    wb.save('test.xlsx')  # 将创建的工作簿保存为test.xlsx

    wb.close()  # 最后关闭文件

     示例如下:

    51Day Day up!

    向上向善,日进一步!

    每天学习,努力成长!

    定个小目标,开启成长的旅程,遇见更好的自己。

    这是我们和自己的约定,许诺自己不负韶华。

    路虽远,行则将至;事虽难,做则必成。

    成长的最好时机,就是当下。

    相关文章

      网友评论

          本文标题:Day058|用Python处理excel数据之一

          本文链接:https://www.haomeiwen.com/subject/yajosltx.html