码迷,mamicode.com
首页 > 编程语言 > 详细

python xlrd 读取excel

时间:2018-12-25 00:57:07      阅读:163      评论:0      收藏:0      [点我收藏+]

标签:strip   python   path   mes   port   网站   参数   简单   内容   

之前的文章介绍过关于写入excel表格的方法,近期自己在做一个网站,涉及到读取excel,然后把数据存到数据库,故把操作excel的过程记录下的。

pip3 install xlrd直接pip3安装。

为了演示方便,这里的excel文件直接和python文件放在一个目录下的,如果是项目中,需要注意excel的文件路径。

import xlrd
#?操作excel
excel?=?xlrd.open_workbook("test.xls")
excel.sheet_names()?#?获取excel里的工作表sheet名称数组
sheet?=?excel.sheet_by_index(0)?#根据下标获取对应的sheet表

技术分享图片

sheet.row_values(0)?#获取第一行的数据
sheet.col_values(0)?#获取第一列的数据
sheet.nrows?#获取总共的行数
sheet.ncols?#获取总共的列数

假设我们需要第二行至最后一行的数据,就可以直接遍历获取了

for?i?in?range(1,?sheet.nrows):
????row_list?=?sheet.row_values(i)?#?每一行的数据在row_list?数组里

对于单个的单元格可以通过sheet.cell(row,col)?参数就是row-行、col-列,这个方法得到的是cell对象,sheet.cell(0,0).value?value是对应的单元格内容。

还有一种特殊的情况,合并单元格的: ??

技术分享图片

sheet.merged_cells?可以查看合并单元格的情况

print(sheet.merged_cells)
[(0,?1,?1,?3),?(4,?10,?1,?2)]

(0, 1, 1, 3)?第一行 第2到3列合并 ? ?
(4, 10, 1, 2)?第5到10行 第2列合并 ? ?
前两个参数指行范围,后两个参数指列范围。 ??
合并单元格的内容取值只有 合并的第一个单元格可以获取到值,其他为空。

print(sheet.cell(0,?1).value)
print(sheet.cell(4,?1).value)

自己做的网站,数据就是从excel表格来的,所以就需要对excel表格进行操作,把数据写到数据库里面。我这边需要使用到的就是遍历excel行去取值,难度并不高,唯一要注意的就是excel的路径问题。

media_root?=?os.path.join(settings.BASE_DIR,?‘upload/excel/‘)
word_path?=?media_root?+?"**.xls"

这篇文章介绍的比较简单,但是用好了这些库,对我们日常使用还是很有帮助的,提升开发效率。

python xlrd 读取excel

标签:strip   python   path   mes   port   网站   参数   简单   内容   

原文地址:http://blog.51cto.com/14009815/2334821

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!