ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

当Python遇上Excel

2021-01-04 23:55:22  阅读:219  来源: 互联网

标签:sheet wb Python 单元格 Excel 工作 active 遇上



今天是年初七,大家快要上班了,来和Paradoxical一起学习一下如何用Python操作Excel吧~


Paradoxical在春节假期也没有闲着,继续学习着Python,其中学会用Python操作Excel就是最大的收获。


首先我们要安装openpyxl库,在命令行输入“pip install openpyxl”即可。接下来说一下3个比较关键的对象。

  1. 工作簿对象Workbook

    一个工作簿就是一个Excel文件,里面可以包含多个工作表。

  2. 工作表对象Worksheet

    一个工作表对象就是工作簿里的表,里面包含多个单元格。

  3. 单元格对象Cell

    单元格就是Excel存放数据的地方。


下面我们来学习一下openpyxl的用法。首先新建一个Excel文件,在里面写入一些测试用的数据。

图片



打开工作簿文件


可以使用load_workbook()或者Workbook()打开一个已有的工作簿。

import openpyxl as xl
#方法1wb = xl.load_workbook('test.xlsx')
#方法2wb2 = xl.Workbook('test.xlsx')



工作表操作


工作簿的active属性或者get_active_sheet()可获取打开Excel表时看到的工作表。

wb.active
wb.get_active_sheet()


此外,还可以用get_sheet_by_name()根据工作表的名字获取工作表。

wb.get_sheet_by_name('Sheet1')


创建工作表。

#默认以Sheet + 数字的形式创建一个工作表wb.create_sheet()
#指定工作表的名字wb.create_sheet('newSheet')
#指定工作表的名字和位置wb.create_sheet('newSheet', 0)


查看和修改工作表的名字。

#该属性返回一个列表wb.sheetnames
#也可以用迭代的方式查看for sheet in wb:    print(sheet.title)    #可以直接对工作表对象修改wb.active.title = 'Sheet0'


删除工作表。

#方法1Sheet0 = wb.get_sheet_by_name('Sheet0')wb.remove(Sheet0)
#方法2del wb['Sheet0']


获取工作表最大行列数。

#最大行数wb.active.max_row
#最大列数wb.active.max_column



单元格操作


获取单个单元格。

#第一个参数是行,第二个参数是列wb.active.cell(2, 1)
#通过单元格名字获取wb.active['A1']


获取多个单元格。

#这种方法冒号前需要区域左上角和右下角的单元格wb.active['A1': 'B2']
#获取单列的单元格wb.active['A']
#获取多列的单元格wb.active['A:C']
#获取单行的单元格wb.active[1]
#获取多行的单元格wb.active[1:2]


获取和修改单元格的值。

#获取单元格的值wb.active['A1'].value
#修改单元格的值wb.active['A1'].value = 3


保存为文件。

#需要指定文件路径wb.save('test.xlsx')


标签:sheet,wb,Python,单元格,Excel,工作,active,遇上
来源: https://blog.51cto.com/15072921/2582116

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有