openpyxl的学习、练习与使用

2022-08-05 08:08:49

打算在csdn上记录下我的python学习历程,虽然是非软件计科的,但是学好这门语言将来肯定会非常有用哒。

for the record, 我用的是anaconda中的Spyder3.6.0,最近好像更新了,但是不知道是因为国内镜像没有及时更新还是什么,一致没法通过从conda来update。。。


啊我前两天看了看有关xlrd、xlwt、wlutils的库,然后有关他们的复习我之后再放上来吧。今天先做openpyxl的学习。

openpyxl的原版doc如下:点击打开链接,介绍的还是挺详细的,有空一起看一看吧。库的安装什么就不记了吧。

我把xl理解成一个父类(workbook,acro:wb),下属有多个子类(worksheet,acro:ws),由分别各自下属好多个单元格(cell)

openpyxl只能用来操作xlsx。。。相当于是和前面3个库互补了吧。

#约定import openpyxl as opx

一:workbook 的创建与操作

将excel实例如“testing.xlxs”具体化为对象

            对于已经存在的xlxs,用如下来引入

wb=openpyxl.load_workbook('testing.xlxs')
            对于新创建一个xlxs,如下
wb=openpyxl.Workbook('new_testing.xlxs')

该二者返回的都是一个workbook对象,用于提取表来操作

其中workbook的属性和方法如下:

wb.active:获取当期使用的worksheet(默认为sheet1)

wb.properties:获取该wb的一系列数据:

<openpyxl.packaging.core.DocumentProperties object>
Parameters:
creator='郑行健', title=None, description=None, subject=None, identifier=None, language=None, created=datetime.datetime(2018, 4, 30, 2, 9), modified=datetime.datetime(2018, 4, 30, 2, 10, 23), lastModifiedBy='Administrator', category=None, contentStatus=None, version=None, revision=None, keywords=None, lastPrinted=None

wb.encoding:返回该文档的编码,一般为utf-8


二:workbook中有关worksheet的方法

wb.提取worksheet的方法怪怪的,有一个是:wb['sheet_name'],但是只是使用简单地提及该表,并未切换到该sheet_name

#过会看到了之后再回来补充

remove_sheet:删除一个表格    #经测试会出现一个“not in list”的错误,怪怪的

create_sheet(title='name'):创建个空的表格

copy_worksheet:在Workbook内拷贝表格


三:worksheet对象

title:标题

dimensions:含有数据的sheet的大小

max_row,min_row:最大小行

max_column,min_column:最大小列

freeze_panes:冻结窗格    #这又是什么啊


四:worksheet方法

iter_rows:按行获取所有单元格,内置属性有iter_rows.(min_row=,max_row=,min_col=,max_col=)

同理,还有iter_columns:按列获取所有的单元格

#在这里还需要补全


五:cell对象

wb.['sheet_name'].cell()

wb['sheet21'].cell(row=5,column=4).coordinate
Out[71]: <Cell 'sheet21'.D5>
Out[76]: 'D5'

其中包含有属性:

            row:单元格所在列

            column:单元格的值

            coordinate:坐标



  • 作者:名字就起八个字吧
  • 原文链接:https://blog.csdn.net/qq_41822927/article/details/80147631
    更新时间:2022-08-05 08:08:49