python学习笔记 - Excel工作簿、工作页、行列、单元格介绍

在使用Python对Excel的单元格进行操作之前,我们需要确保本地python库中成功安装了openpyxl类库。若没有安装该类库,则需要在【终端】借助pip工具安装:

# win:
pip install openpyxl
# mac
pip3 install openpyxl
# 若提示下载超时,则用以下的方式安装
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple openpyxl

在Excel中,可将关注的对象分为:【工作簿】、【工作页】、【行/列】、【单元格】。openpyxl类库如何去获取他们呢:

1、获取工作簿


from openpyxl import load_workbook
# 加载指定工作簿
workbook = load_workbook(文件路径)
# 新建工作簿
workbook = Workbook()
print(type(workbook))  # 
# 保存工作簿
workbook.save(文件路径)

这一步的作用可以理解为我们打开了指定的Excel文件,或者新建了一个Excel表格并打开。

2、获取工作页(sheet页)


worksheet = workbook.active
print(type(worksheet))  # 

这一步可以理解为我们操作Excel的时候,打开了指定Sheet页。

3、获取行 / 列

获取的行、列数据最终是以元组形式返回。

  • 获取指定的一行 / 列(如获取第一行 / 列)

    # 获取第一行
    row = worksheet[1]
    print(type(row))  # 
    # 获取第一列
    col = worksheet['A']
    print(type(col))  # 
    
  • 通过遍历器获取行 / 列
    行遍历方法iter_rows与列遍历iter_cols在用法上一致,此处我们选择研究一下行遍历中的方法及其参数:

    def iter_rows(self, min_row=None, max_row=None,
                  min_col=None, max_col=None, values_only=False):
    
    参数 说明
    min_row 开始遍历的行,默认值为None,从第一行开始。
    max_row 结束遍历的行,默认值为None,到存在数据的最后一行止。
    min_col 获取每行的起始列,默认值为None,从第一列开始。
    max_col 获取每行的结束列,默认值为None,到存在数据到最后一列止。
    values_only 获取行数据为对象还是纯数值,默认值为False。
    若该值为False,则获取的行元组中的每个元素都是Cell对象,若需要获取其中的值,则需要通过cell.value的方式获取。
    若该值为True,则获取的行元组中的每个元素都是表格中的文本。

    举例:遍历第2行到第4行中第2列到第4列的值
    python学习笔记 - Excel工作簿、工作页、行列、单元格介绍_第1张图片

    for row in worksheet.iter_rows(min_row=2, max_row=4, 
                                   min_col=2, max_col=4, values_only=True):
        print(row)
    # 输出结果
    """
    (1, 38016.14, 45127.2)
    (2, 33078.08, 40334.41)
    (3, 43791.06, 51433.11)
    """
    

4、获取单元格

  • 获取指定某个单元格(如获取第一行第一列单元格)
    cell = worksheet['A1']
    
  • 通过遍历行 / 列元组方式获取每个单元格
    1.3中提到,获取行 / 列最终都是以元组的方式返回的,我们若想获取其中的单元格,当然可以通过遍历的方式去获取。如:
    for cell in worksheet.iter_rows():
        print(type(cell))  # 
    

你可能感兴趣的:(python,python)