文章链接:https://mp.weixin.qq.com/s/fojkVO-AB2cCu7FtDtPBjw

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

pip3 install xlrd直接pip3安装。

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

# 操作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"

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

欢迎关注我的个人博客:https://www.manjiexiang.cn/

更多精彩欢迎关注微信号:春风十里不如认识你

一起学习,一起进步,欢迎上车,有问题随时联系,一起解决!!!

python xlrd 读取excel.md的更多相关文章

  1. python xlrd读取excel常用方法

    最近学习了python操作excel,记录下常用方法. 需要安装xlrd模块, 打开cmd,输入命令:pip install xlrd  进行安装,若已安装显示如下: xlrd读取excel常用方法如 ...

  2. [Python]xlrd 读取excel 日期类型2种方式

    有个excle表格须要做一些过滤然后写入数据库中,可是日期类型的cell取出来是个数字,于是查询了下解决的办法. 主要的代码结构 data = xlrd.open_workbook(EXCEL_PAT ...

  3. python xlrd读取Excel文件

    1 import xlrd 2 3 #打开excel文件 4 book = xlrd.open_workbook('salary.xls') 5 6 #打印每个工作表的名称 7 for sheet i ...

  4. python使用xlrd读取excel数据时,整数变小数的解决办法

    python使用xlrd读取excel数据时,整数变小数: 解决方法: 1.有个比较简单的就是在数字和日期的单元格内容前加上一个英文的逗号即可.如果数据比较多,也可以批量加英文逗号的前缀(网上都有方法 ...

  5. Python模块学习之xlrd 读取Excel时传入formatting_info=True报错:NotImplementedError: formatting_info=True not yet implemented

    问题:xlrd读取Excel时传入 formatting_info=True 报错 之前我们使用读取xls文件的时候都是使用的xlrd库,但是这个库只能操作 .xls格式,对于后来的 .xlsx的版本 ...

  6. Python用xlrd读取Excel数据到list中再用xlwt把数据写入到新的Excel中

    一.先用xlrd读取Excel数据到list列表中(存入列表中的数据如下图所示) import xlrd as xd #导入需要的包 import xlwt data =xd.open_workboo ...

  7. python下读取excel文件

    项目中要用到这个,所以记录一下. python下读取excel文件方法多种,用的是普通的xlrd插件,因为它各种版本的excel文件都可读. 首先在https://pypi.python.org/py ...

  8. Delphi中使用python脚本读取Excel数据

    Delphi中使用python脚本读取Excel数据2007-10-18 17:28:22标签:Delphi Excel python原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 . ...

  9. python利用xlrd读取excel文件始终报错原因

    1.代码按照网上百度的格式进行书写如下: 但运行后,始终报错如下: 百度了xlrd网页: 分明支持xls和xlsx两种格式的文件,但运行始终报错. 最后找到原因是因为我所读取的文件虽然是以.xls命名 ...

随机推荐

  1. python——绘制二元高斯分布的三维图像,

    在对数据进行可视化的过程中,可能经常需要对数据进行三维绘图,在python中进行三维绘图其实是比较简单的,下面我们将给出一个二元高斯分布的三维图像案例,并且给出相关函数的参数. 通常,我们绘制三维图像 ...

  2. Caffe源码理解3:Layer基类与template method设计模式

    目录 写在前面 template method设计模式 Layer 基类 Layer成员变量 构造与析构 SetUp成员函数 前向传播与反向传播 其他成员函数 参考 博客:blog.shinelee. ...

  3. NET 泛型,详细介绍

    今天的文章是因为再给一个朋友讲这个的时候随手记录下整理出来的.说白了就是把前辈们曾经给我吹过的我又吹了出去. 泛型:是C# FrameWork 2.0 时代 加入进来的,可以说对与Net开发人员来说泛 ...

  4. 【转载】 Sqlserver中查看自定义函数被哪些对象引用

    Sqlserver数据库中支持自定义函数,包含表值函数和标量值函数,表值函数一般返回多个数据行即数据集,而标量值函数一般返回一个值,在数据库的存储过程中可调用自定义函数,也可在该自定义函数中调用另一个 ...

  5. Linux系统的启动过程

    Linux 系统启动过程 Linux系统的启动过程可以分为5个阶段: BIOS自检 内核的引导. 运行init. 系统初始化. 用户登录系统. BIOS自检: BIOS是英文"Basic I ...

  6. 【原】Java学习笔记034 - 网络

    package cn.temptation; import java.net.InetAddress; public class Sample01 { public static void main( ...

  7. C++ 最简单的日志类

    最近搞一个 C++ 项目的二次开发,没玩过 C++,可谓步履维艰.自己写个简单的日志类都被各种坑折磨.终于搞定了. 参考了这篇博客,并且进一步简化:https://www.cnblogs.com/Ds ...

  8. 6.[leetcode] ZigZag Conversion

    The string "PAYPALISHIRING" is written in a zigzag pattern on a given number of rows like ...

  9. python爬虫数据解析之BeautifulSoup

    BeautifulSoup是一个可以从HTML或者XML文件中提取数据的python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式. BeautfulSoup是python爬虫三 ...

  10. 【自然语言处理篇】--以NLTK为基础讲解自然语⾔处理的原理和基础知识

    一.前述 Python上著名的⾃然语⾔处理库⾃带语料库,词性分类库⾃带分类,分词,等等功能强⼤的社区⽀持,还有N多的简单版wrapper. 二.文本预处理 1.安装nltk pip install - ...