zoukankan      html  css  js  c++  java
  • 3.10处理电子表格示例(一)

    import openpyxl
    wb=openpyxl.load_workbook('example.xlsx')
    print("wb的数据类型是:",type(wb))
    print("example.xlsx文件中所有的工作表表名为:",wb.get_sheet_names() )
    sheet=wb.get_sheet_by_name('Sheet1') ##通过get_sheet_by_name()方法传递工作表(工作簿)名称的字符串获得Worksheet 对象。
    print("工作表用Worksheet对象表示为:",sheet)
    print("sheet对象的类型是:",type(sheet))
    print("当前工作表的名称为:",sheet.title)
    anotherSheet=wb.get_active_sheet ###获取当前活动工作表。
    print("当前活动的工作表是:",anotherSheet)
    print(sheet['A1'])
    print("A1单元格的内容是:",sheet['A1'].value)
    print("B1单元格的内容是:",sheet['B1'].value)
    c=sheet['B1']
    print("B1单元格的内容是:",c.value)
    dd=sheet.cell(row=1,column=2)
    print('第一行、第一列的值为:',dd.value)
    for i in range(1,8):
    print("电子表格第",i,"行,第二列的内容是:",sheet.cell(row=i,column=2).value)


    运行结果:

    wb的数据类型是: <class 'openpyxl.workbook.workbook.Workbook'>
    example.xlsx文件中所有的工作表表名为: ['Sheet1', 'Sheet2', 'Sheet3']
    工作表用Worksheet对象表示为: <Worksheet "Sheet1">
    sheet对象的类型是: <class 'openpyxl.worksheet.worksheet.Worksheet'>
    当前工作表的名称为: Sheet1
    当前活动的工作表是: <bound method Workbook.get_active_sheet of <openpyxl.workbook.workbook.Workbook object at 0xb69659ac>>
    <Cell 'Sheet1'.A1>
    A1单元格的内容是: 2015-04-05 13:34:02
    B1单元格的内容是: Apples
    B1单元格的内容是: Apples
    第一行、第一列的值为: Apples
    电子表格第 1 行,第二列的内容是: Apples
    电子表格第 2 行,第二列的内容是: Cherries
    电子表格第 3 行,第二列的内容是: Pears
    电子表格第 4 行,第二列的内容是: Oranges
    电子表格第 5 行,第二列的内容是: Apples
    电子表格第 6 行,第二列的内容是: Bananas
    电子表格第 7 行,第二列的内容是: Strawberries

    Process finished with exit code 0


    知识点总结:在本案例中,需要导入openpyxl模块,其中openpyxl模块下面的用到的几个方法及其作用如下:
    (1)、load_workbook()方法:用来打开一个电子表格文件,也就是说,openpyxl.load_workbook()方法接受文件名,返回一个workbook数据类型的值。这个workbook对象代表这个Excel文件,类似File对象代表一个打开的文本文件。
    (2)、get_sheet_names()方法:用来获得电子表格中所有工作表的表名。如a.xlsx文件中有三个名为“Sheet1”、“Sheet2”、“Sheet3”的工作表(工作簿),获取此表名。

    (3)、
    get_sheet_by_name()方法:每一个工作表(工作簿)由一个 Worksheet 对象表示,而Worksheet对象可以通过向方法get_sheet_by_name()传递工作表(工作簿)名称的字符串获得;
    (4)、有了 Worksheet 对象后,就可以按名字访问 Cell 对象。Cell 对象有一个value属性,包含了单元格中保存的值。Cell 对象也有 row、column 和 coordinate 属性,提供该单元格的位置信息。
    补充:
    get_sheet_names:获取所有表格的名称(新版已经不建议使用,通过Workbook的sheetnames属性即可获取)
    get_sheet_by_name:通过表格名称获取Worksheet对象(新版也不建议使用,通过Worksheet[‘表名‘]获取)
    get_active_sheet:获取活跃的表格(新版建议通过active属性获取)
    remove_sheet:删除一个表格
    create_sheet:创建一个空的表格
    copy_worksheet:在Workbook内拷贝表格

    Worksheet对象

    常用的Worksheet属性如下:
    title:表格的标题
    dimensions:表格的大小,这里的大小是指含有数据的表格的大小,即:左上角的坐标:右下角的坐标
    max_row:表格的最大行
    min_row:表格的最小行
    max_column:表格的最大列
    min_column:表格的最小列
    rows:按行获取单元格(Cell对象) - 生成器
    columns:按列获取单元格(Cell对象) - 生成器
    freeze_panes:冻结窗格
    values:按行获取表格的内容(数据)  - 生成器

    常用的Worksheet方法如下:

    iter_rows:按行获取所有单元格,内置属性有(min_row,max_row,min_col,max_col)
    iter_columns:按列获取所有的单元格
    append:在表格末尾添加数据
    merged_cells:合并多个单元格
    unmerged_cells:移除合并的单元格

    Cell对象

    Cell对象比较简单,常用的属性如下:

    row:单元格所在的行
    column:单元格坐在的列
    value:单元格的值
    coordinate:单元格的坐标


    附件:代码读取的“
    example.xlsx”文件:










  • 相关阅读:
    k8s-学习笔记12-权限体系
    Linux上磁盘热插拔
    delphi hashmap
    my gcc project
    gcc dll 导出问题 GTK+Glade3 Gtk-WARNING **: Could not find signal handler 问题最终解析
    c/c++字符串定义及使用的对比
    gcc printf()打印char* str
    gcc选项-g与-rdynamic的异同
    GCC编译,库的编译使用及Makefile
    gcc test
  • 原文地址:https://www.cnblogs.com/cqkangle/p/10506386.html
Copyright © 2011-2022 走看看