前言:需要进行自动化办公或者自动化测试的朋友,可以了解下此文,掌握Python读取Excel表格的方法。

一、准备工作:

1、安装Python3.7.0(官网下载安装包)

2、安装Pycharm(官网下载安装包)

3、安装openpyxl

命令行窗口执行: pip install openpyxl ,出现Successfully installed表示安装成功。

4、准备一份Excel表格,绝对路径:D:\zxt\test_data.xlsx , test_data.xlsx内容如下:

二、了解几个常用概念

workbook 工作簿

worksheet 表单

row 行

column 列

cell 单元格

active 活跃的表单(即:正打开使用的表格)

index 索引 (注意:Excel中的索引值是从1开始!!!)

三、Python读取Excel

  1. import openpyxl
    # 一、打开工作簿
    wb = openpyxl.load_workbook(r"D:\zxt\test_data.xlsx", read_only=False)

    # 二、从工作簿中获取表单
    # 1.遍历表单名称
    for sheet in wb:
    print(sheet.title)

    print(wb.sheetnames) # 结果是一个列表

    # 2.获取表单对象
    mySheet = wb.create_sheet('表单4')
    print(wb.sheetnames)
    sheet4 = wb['表单4'] # 通过表单名获取,注意这里使用方括号

    # 三、从表单中取出单元格,并打印单元格的行、列、值
    ws = wb.active # 取出活跃的表单
    print(ws) # 打印表单
    print(ws['A1']) # 打印A1单元格
    print(ws['A1'].value) # 打印A1单元格的值

    # 1.打印B2单元格的行、列、值
    c = ws['B2']
    print("B2单元格的行数是{0},列数是{1},值是{2}".format(c.row, c.column, c.value))
    print("单元格{0}的值是{1}".format(c.coordinate, c.value)) # c.coordinate表示获取单元格的坐标

    # 2.还可以通过指定单元格的行、列索引值,来获取单元格的值
    print(ws.cell(row=2, column=2).value)

    for i in range(2, 8, 2):
    print(ws.cell(row=i, column=2).value)

    for j in range(1, 3):
    print(ws.cell(row=2, column=j).value)

    # 3.根据指定的行、列范围打印单元格的值
    row6 = ws[6]
    print(row6)
    columnB = ws['B']
    print(columnB)
    row_range = ws[1:8] # 采用切片的方法获取行的范围
    column_range = ws['A:C']
    column_index = range(1, 4)

    # 利用for循环遍历单元格的值
    # 方法1.先取出每一行,再取出每一行中的每一个单元格来获取值
    for row in row_range:
    for cell in row:
    print(cell.value)

    # 方法2.先取出每一列,再取出每一列中的每一个单元格来获取值
    for col in column_range:
    for cell in col:
    print(cell.value)

    # 方法3.通过生成器打印指定矩形区域单元格的值
    # 说明:使用iter_rows()和iter_cols()方法更加灵活,可以指定单元格的行、列范围,返回的是一个生成器。
    for row in ws.iter_rows(min_row=1, max_row=8, min_col=1, max_col=2):
    for cell in row:
    print(cell.value)

    for col in ws.iter_cols(min_col=1, max_col=2, min_row=1, max_row=8):
    for cell in col:
    print(cell.value)

    # 方法4.按照单元格的范围(矩形)区域打印单元格的值
    # 先给出单元格的范围,然后按行取打印每个单元格的值
    cell_range = ws['A1:B8']
    for rowOfCellObject in cell_range:
    for cellObj in rowOfCellObject:
    print(cellObj.coordinate, cellObj.value)

    # 四、获取表单的最大行数、最大列数
    print("表单1是:{0}*{1}的表格".format(ws.max_row, ws.max_column))

    # 五、列对应的数字和字符转换
    # 说明:使用这个转换功能,我们需要先导入2个模块
    from openpyxl.utils import get_column_letter, column_index_from_string
    print(get_column_letter(2), get_column_letter(20), get_column_letter(47))
    print(column_index_from_string('AU'), column_index_from_string('AHH'))

 
 

Python读取Excel表格的更多相关文章

  1. python读取Excel表格文件

    python读取Excel表格文件,例如获取这个文件的数据 python读取Excel表格文件,需要如下步骤: 1.安装Excel读取数据的库-----xlrd 直接pip install xlrd安 ...

  2. [转] Windows下使用Python读取Excel表格数据

    http://www.python-excel.org/这个网站罗列了很多关于在Python下操作Excel文件的信息,这里选择了其介绍的第一个模块xlrd . xlrd 0.9.2版本跨平台同时支持 ...

  3. python读取excel表格中的数据

    使用python语言实现Excel 表格中的数据读取,需要用到xlrd.py模块,实现程序如下: import xlrd #导入xlrd模块 class ExcelData(): def __init ...

  4. Python:读取Excel表格时出现的u'\u51c6’ 无法正确显示汉字

    读取Excel后,想显示其中一行的元素,结果读出来是这样[u'\u51c6\u8003\u8bc1\u53f7', u'\u8003\u751f\u59d3\u540d'],始终不显示正常的汉字 依照 ...

  5. python读取excel表格生成sql语句 第一版

    由于单位设计数据库表·,都用sql.不知道什么原因不用 powerdesign或者ermaster工具,建表很痛苦  作为程序猿当然要想办法解决,用Python写一个程序解决 需要用到 xlrd li ...

  6. python 读取excel表格内不同类型的数据

    不同类型数据对应值: #coding=utf-8 import os import xlrd from datetime import datetime,date newparh = os.chdir ...

  7. Python读写Excel表格

    最近在做一些数据处理和计算的工作,因为数据是以.CSV格式保存的,因此刚开始直接用Excel来处理. 但是做着做着发现重复的劳动,其实并没有多大的意义,于是就想着写个小工具帮着处理. 以前正好在一本书 ...

  8. python操作excel表格(xlrd/xlwt)

    最近遇到一个情景,就是定期生成并发送服务器使用情况报表,按照不同维度统计,涉及python对excel的操作,上网搜罗了一番,大多大同小异,而且不太能满足需求,不过经过一番对源码的"研究&q ...

  9. python 处理 Excel 表格

    see: http://www.cnblogs.com/sunada2005/p/3193300.html 一.可使用的第三方库 python中处理excel表格,常用的库有xlrd(读excel)表 ...

随机推荐

  1. CSS 是啥?前端小白入门级理解

    What is CSS? CSS stands for Cascading Style Sheets CSS describes how HTML elements are to be display ...

  2. 阿里云服务器安装配置nginx

    服务器: 阿里云 Alibaba Cloud Linux 下载 进入到预计存放nginx的目录,比如:/usr/local/ 下载nginx压缩包,并解压 cd /usr/local wget htt ...

  3. Week2 题解

    T1及题解 T2 CF1207E 首先,异或这个位运算有个很好的性质:x^y^y=x 于是,可以有两种解决方法: 法一 既然让猜原来的数是多少,当它异或了一个其他值val的时候,再异或val就会变回原 ...

  4. Pytest系列(15)- 多重校验插件之pytest-assume的详细使用

    如果你还想从头学起Pytest,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1690628.html 前言 pytest中可以用pyth ...

  5. 什么是内存屏障? Why Memory Barriers ?

           要了解如何使用memory barrier,最好的方法是明白它为什么存在.CPU硬件设计为了提高指令的执行速度,增设了两个缓冲区(store buffer, invalidate que ...

  6. HCNP Routing&Switching之IS-IS报文结构和类型

    前文我们了解了IS-IS动态路由协议基础相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15249328.html:今天我们来聊一聊IS-IS动态路由协 ...

  7. 云真机兼容性自动化工具测试解决方案_www.alltesting.cn

    问题和背景 不同类型的品牌和硬件环境.不同版本的android操作系统.IO操作系统,以及不同的分辨率,造成相同的APP在不同的设备可能存在缺陷. 兼容性测试,就是让APP.小程序.H5程序,在所有的 ...

  8. type switch使用

    type    switchs用法 这里存在一个未知类型变量的内省操作(introspection operation),就是x.(type),其中x是interface{}类型

  9. 在excel中,截取电话号码后4位

    在单元格中输入以下 =RIGHT($A3,4) 其中$a3是手机号所在的单元格,4是从右查4个

  10. WPF 通过进程实现异常隔离的客户端

    当 WPF 客户端需要实现插件系统的时候,一般可以基于容器或者进程来实现.如果需要对外部插件实现异常隔离,那么只能使用子进程来加载插件,这样插件如果抛出异常,也不会影响到主进程.WPF 元素无法跨进程 ...