千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

当前位置:首页  >  技术干货  > Python办公软件自动化,5分钟掌握openpyxl操作

Python办公软件自动化,5分钟掌握openpyxl操作

来源:千锋教育
发布人:syq
时间: 2022-09-08 09:58:38 1662602318

  今天给大家分享一篇用openpyxl操作Excel的文章。各种数据需要导入Exce?多个Excel要合并?目前,Python处理Excel文件有很多库,openpyxl算是其中功能和性能做的比较好的一个。接下来我将为大家介绍各种Excel操作。

  打开Excel文件

  新建一个Excel文件

41

  打开现有Excel文件

42

  打开大文件时,根据需求使用只读或只写模式减少内存消耗。

43

  获取、创建工作表

  获取当前活动工作表:

44

  创建新的工作表:

45

  使用工作表名字获取工作表:

46

  获取所有的工作表名称:

47

  使用for循环遍历所有的工作表:

48

  保存

  保存到流中在网络中使用:

49

  单元格

  单元格位置作为工作表的键直接读取:

50

  为单元格赋值:

51

  多个单元格 可以使用切片访问单元格区域:

52

  使用数值格式:

53

  使用公式:

54

  合并单元格时,除左上角单元格外,所有单元格都将从工作表中删除:

55

  行、列

  可以单独指定行、列、或者行列的范围:

56

  可以使用Worksheet.iter_rows()方法遍历行:

57

  同样的Worksheet.iter_cols()方法将遍历列:

58

  遍历文件的所有行或列,可以使用Worksheet.rows属性:

59

  或Worksheet.columns属性:

60

  使用Worksheet.append()或者迭代使用Worksheet.cell()新增一行数据:

    >>> for row in range(1, 40):

    ...     ws1.append(range(600))

 

    >>> for row in range(10, 20):

    ...     for col in range(27, 54):

    ...         _ = ws3.cell(column=col, row=row, value="{0}".format(get_column_letter(col)))

  插入操作比较麻烦。可以使用Worksheet.insert_rows()插入一行或几行:

      >>> from openpyxl.utils import get_column_letter
     >>> ws.insert_rows(7) 
     >>> row7 = ws[7]
     >>> for col in range(27, 54):
    ...         _ = ws3.cell(column=col, row=7, value="{0}".format(get_column_letter(col)))
Worksheet.insert_cols()操作类似。Worksheet.delete_rows()和Worksheet.delete_cols()用来批量删除行和列。

  只读取值

  使用Worksheet.values属性遍历工作表中的所有行,但只返回单元格值:

61

  Worksheet.iter_rows()和Worksheet.iter_cols()可以设置values_only参数来仅返回单元格的值:

62

tags:
声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。
10年以上业内强师集结,手把手带你蜕变精英
请您保持通讯畅通,专属学习老师24小时内将与您1V1沟通
免费领取
今日已有369人领取成功
刘同学 138****2860 刚刚成功领取
王同学 131****2015 刚刚成功领取
张同学 133****4652 刚刚成功领取
李同学 135****8607 刚刚成功领取
杨同学 132****5667 刚刚成功领取
岳同学 134****6652 刚刚成功领取
梁同学 157****2950 刚刚成功领取
刘同学 189****1015 刚刚成功领取
张同学 155****4678 刚刚成功领取
邹同学 139****2907 刚刚成功领取
董同学 138****2867 刚刚成功领取
周同学 136****3602 刚刚成功领取
相关推荐HOT