前言:需要进行自动化办公或者自动化测试的朋友,可以了解下此文,掌握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

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. linux centos7 “git clone https://github.com/XXXXX” 报错解决方法

    2021-08-04 1. 问题描述 在执行以下命令时出现错误"正克隆到 'XXXXX'... fatal: unable to access 'https://github.com/lag ...

  2. Java动态代理底层实现

    Java实现源码 上一节我们提到了Java动态代理的使用,接下来我们看一下他的具体实现. HelloInterface proxyHello = (HelloInterface) Proxy.newP ...

  3. leetcode 位运算异或

    1. 只出现一次的数字(136) 异或的性质总结: 相异为1,相同为0: a ^ a = 0; 0 ^ a = a; 如果 a ^ b = c 成立,那么a ^ c = b 与 b ^ c = a 均 ...

  4. HTML一小时入门,半天掌握

    还没有写完,后续持续更新 首先来熟悉一下html的基本结构 <!DOCTYPE HTML> <html> <head> <meta charset=" ...

  5. 详细解读go语言中的chnanel

    Channel 底层数据结构 type hchan struct { qcount uint // 当前队列中剩余元素个数 dataqsiz uint // 环形队列长度,即可以存放的元素个数 buf ...

  6. Python - poetry(2)命令介绍

    poetry 语法格式 poetry [-h] [-q] [-v [<...>]] [-V] [--ansi] [--no-ansi] [-n] <command> [< ...

  7. 【曹工杂谈】Maven IOC 容器-- Guice内部有什么

    Google Guice容器内部有什么 前言 Maven系列,好几天没写了,主要是这几天被Google Guice卡住了,本来是可以随便带过Guice,讲讲guice的用法就够了(这个已经讲了,在前面 ...

  8. scrum项目冲刺_day01总结

    摘要:今日完成任务. 1.app基本框架页面正在进行 2.图像识别正在进行 总任务: 一.appUI页面 二.首页功能: 1.图像识别功能 2.语音识别功能 3.垃圾搜索功能 4.相关新闻爬取 三.我 ...

  9. cnblogs-theme-silence 主题设置简约风格

    本文参考 更改博客皮肤 更改博客皮肤为Custom 页面定制CSS代码 勾选禁用模板默认CSS 导入复制该文件内容到代码框中 配置代码块复制功能 样式 和 右侧滑动条样式 /*复制功能添加按钮 beg ...

  10. Docker系列(11)- 部署Nginx

    step-1 搜索镜像 使用search命令,建议去dockerhub上搜索,可以看到帮助文档 [root@localhost ~]# docker search nginx NAME DESCRIP ...