python 利用openpyxl读取Excel表格中指定的行或列教程
作者:赏尔 发布时间:2022-08-06 21:22:54
标签:python,openpyxl,Excel,行或列
Worksheet 对象的 rows 属性和 columns 属性得到的是一 Generator 对象,不能用中括号取索引。
可先用列表推导式生成包含每一列中所有单元格的元组的列表,在对列表取索引。
Worksheet 的 rows 属性亦可用相同的方法处理。
补充:python之表格数据读取
python 操作excel主要用到xlrd,xlwt这两个库,xlrd,是读取excel表,xlwt是写入表格
1.打开表格
table = xlrd.open("path_to_your_excel", 'rb')
一般时候需要进行判断,防止表格打开错误
try:
table = xlrd.open("path_to_your_excel", 'rb')
except Exception, e
print str(e)
当表格打开错误时,可以捕获异常
2.一个表格中可以包含多个工作簿
那么需要用到哪个工作簿
python 提供了三种获取方式
sheet1 = table.sheet()[1] or
sheet1 = table.sheet_by_index() or
sheet1 =table.sheet_by_name("sheetname")
3.上一步我们已经获取到具体的sheet(工作簿)
那么根据需求,python提供了获取表格行数列数的方法
获取行数:nrows = sheet.nrows
获取列数:ncols = sheet.cols
返回值type为int
获取列数或行数可能是为了后续需要进行遍历内部的数据而用,那么下面来说python提供可以获取某一行或者某一列值的方法
4.获取某行某列的值
获取某一行的值:
nrow_value = sheet.row_values(number)
获取某一列的值:
ncol_value = sheet.col_values(number)
#上面row_values(number)中的表示想要获取哪一行的索引值,比如获取第一行的值,就是row_values(0)
返回值的type为list
整行整列的数据获取,python给出了直接的方法,那么获取整张表数据呢,就需要用到for循环进行遍历每一个单元格
5.获取整个表格中 的数据:
data_list = []
title = sheet.row_values(0)
for i in range(1, sheet.nrows):
data_values = OrderedDict()
row_value = sheet.row_values(i)
#从第二行开始遍历,根据行数获得每行的数据list
for j in range(0, len(row_value)):
data_values[title[j]] = row_value[j]
print ([title[j]], row_value[j])data_list.append(data_values)
# result = json.dumps(data_list)
#需要转化成为json格式
return data_list
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。
来源:https://www.cnblogs.com/shanger/p/12924274.html
0
投稿
猜你喜欢
- Python中多线程使用到Threading模块。Threading模块中用到的主要的类是Thread,我们先来写一个简单的多线程代码:#
- 工作中偶尔需要做客流分析,用pyplot 库绘图。一般情况下, x 轴刻度默认显示为数字。例如:我希望x 轴刻度显示为星期日期。查询pypl
- 来自Usability Post的Categories vs Tags作者认为“就博客而言,标签没有太大意义。”I don’t think
- 迭代是 Python 中的基本操作。我们可以迭代列表、字符串和所有其他结构。Asyncio 允许我们开发异步迭代器。我们可以通过定义一个实现
- Web 前端优化最佳实践第三部分面向 Cookie 。目前只有 2 条实践规则。1. 缩小 Cookie (Reduce Cook
- 过程名:ManualPagination作 用:采用手动分页方式显示文章具体的内容参 数:ArticleID,strContentSub&n
- 传统方式需要10s,dat方式需要0.6simport osimport timeimport torchimport randomfrom
- 问题背景:日常对Sql Server 2005关系数据库进行操作时,有时对数据库(如:Sharepoint网站配置数据库名Sharepoin
- 人常常感受到色彩对自己心理的影响,这些影响总是在不知不觉中发挥作用,左右我们的情绪。色彩的心理效应发生在不同层次中。有些属直接的刺激,有些要
- tempfile.TemporaryFile如何你的应用程序需要一个临时文件来存储数据,但不需要同其他程序共享,那么用TemporaryFi
- http://swik.net/Ajax/Ajax+Mistakes在某网站瞎逛时,发现这个链接,进去逛了逛,觉得很有意思,大家也可以去看看
- 一个middleware的例子import timefrom django.urls import reversefrom django.u
- sys.argv[]是用来获取命令行参数的,sys.argv[0]表示代码本身文件路径,所以参数从1开始,以下两个例子说明:1、使用sys.
- 本文实例讲述了Python3的urllib.parse常用函数。分享给大家供大家参考,具体如下:1、获取url参数>>>
- Selenium 是一个可以让浏览器自动化地执行一系列任务的工具,常用于自动化测试。不过,也可以用来给网页截图。目前,它支持 Java、C#
- 今天在对一堆新数据进行数据清洗的时候,遇到了一个这样的问题:ValueError: cannot convert float NaN to
- 导语元宵节,又称上元节、灯节,是春节之后的第一个重要节日。相传,汉文帝(前179—前157年)为庆祝周勃于正月十五勘平诸
- 很多年以前,面对上古时代遗留的 HTML 发出的腐臭,我捂住鼻子唉声叹气。刚练熟 web 标准的我,恨不得寝其尸食其肉,把一切推翻重来。但经
- 文章先介绍了关于俄罗斯方块游戏的几个术语。边框——由10*20个空格组成,方块就落在这里面。盒子——组成方块的其中小方块,是组成方块的基本单
- 2018年1月3日,王思聪被迫动用自己的微博,为一个诞生不到10天的App打了广告,“每天我都发奖金,今晚9点就发10万”。对他而言,这天的