Python读取Excel表格
前言:需要进行自动化办公或者自动化测试的朋友,可以了解下此文,掌握Python读取Excel表格的方法。
一、准备工作:
1、安装Python3.7.0(官网下载安装包)
2、安装Pycharm(官网下载安装包)
3、安装openpyxl
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表格的更多相关文章
- python读取Excel表格文件
python读取Excel表格文件,例如获取这个文件的数据 python读取Excel表格文件,需要如下步骤: 1.安装Excel读取数据的库-----xlrd 直接pip install xlrd安 ...
- [转] Windows下使用Python读取Excel表格数据
http://www.python-excel.org/这个网站罗列了很多关于在Python下操作Excel文件的信息,这里选择了其介绍的第一个模块xlrd . xlrd 0.9.2版本跨平台同时支持 ...
- python读取excel表格中的数据
使用python语言实现Excel 表格中的数据读取,需要用到xlrd.py模块,实现程序如下: import xlrd #导入xlrd模块 class ExcelData(): def __init ...
- Python:读取Excel表格时出现的u'\u51c6’ 无法正确显示汉字
读取Excel后,想显示其中一行的元素,结果读出来是这样[u'\u51c6\u8003\u8bc1\u53f7', u'\u8003\u751f\u59d3\u540d'],始终不显示正常的汉字 依照 ...
- python读取excel表格生成sql语句 第一版
由于单位设计数据库表·,都用sql.不知道什么原因不用 powerdesign或者ermaster工具,建表很痛苦 作为程序猿当然要想办法解决,用Python写一个程序解决 需要用到 xlrd li ...
- python 读取excel表格内不同类型的数据
不同类型数据对应值: #coding=utf-8 import os import xlrd from datetime import datetime,date newparh = os.chdir ...
- Python读写Excel表格
最近在做一些数据处理和计算的工作,因为数据是以.CSV格式保存的,因此刚开始直接用Excel来处理. 但是做着做着发现重复的劳动,其实并没有多大的意义,于是就想着写个小工具帮着处理. 以前正好在一本书 ...
- python操作excel表格(xlrd/xlwt)
最近遇到一个情景,就是定期生成并发送服务器使用情况报表,按照不同维度统计,涉及python对excel的操作,上网搜罗了一番,大多大同小异,而且不太能满足需求,不过经过一番对源码的"研究&q ...
- python 处理 Excel 表格
see: http://www.cnblogs.com/sunada2005/p/3193300.html 一.可使用的第三方库 python中处理excel表格,常用的库有xlrd(读excel)表 ...
随机推荐
- constexpr-C++11
constexpr和常量表达式 常量表达式(const expression)是指值不会改变并且在编译过程就能得到计算结果的表达式.显然,字面值属于常量表达式,用常量表达式初始化的const对象也是常 ...
- vue 上传头像悬浮显示文字
template部分: 头像外部加一个 div <div class="user-info-head"> </div> css 部分 <style ...
- Java实现一个死锁
Java实现一个死锁 有一个藏宝图(treasureMapFragment)分成两份jack持有treasureMapFragment1残片1,json持有残片2.jack要求必须先看到json的残图 ...
- Java 登录模块设计
登录流程 前端登录传输用户名和md5加密后的密码 后端对密码在进行md5加密,或者使用md5加密的密码 + id 进行盐加密,增加密码被破解的难度. 登录成功后,这里分成单体,或者分布式的情况 单体 ...
- 云效x钉钉:让研发工作更简单
云效x钉钉:让研发工作更简单,奔走相告,云效&钉钉集成实现组织架构.成员同步以及消息通知啦! 我们知道云效致力于智能化.安全可追溯.高效.简单.灵活,「云效新一代企业级DevOps平台」阿里云 ...
- UNION / UNION ALL 区别
Union:对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序: Union All:对两个结果集进行并集操作,包括重复行,不进行排序: 使用union all: select top 5 ...
- HCNP Routing&Switching之动态路由协议IS-IS基础
前文我们了解了OSPF的特殊区域相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15236330.html:今天我们来聊一聊另一动态路由协议IS-IS相 ...
- Python PIL、Pillow笔记
原文链接:https://blog.csdn.net/FlashKoala/article/details/90649464 一.PIL.Pillow简介 PIL(Python Imaging Lib ...
- 2021-06-14 BZOJ4919:大根堆
BZOJ4919:大根堆 Description: 题目描述 给定一棵n个节点的有根树,编号依次为1到n,其中1号点为根节点.每个点有一个权值v_i. 你需要将这棵树转化成一个大根堆.确切地说,你 ...
- JD 评论晒图爬虫
JD 评论晒图爬虫 #coding=utf-8 import requests import re import os __author__ = 'depy' """ j ...