文章链接: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/

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

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

最新文章

  1. Python Day02
  2. python日常-list and dict
  3. @override
  4. 实现HTTP跳转到HTTPS
  5. duplicate symbols for architecture arm64 (Xcode error)
  6. Visual Studio 2017正式版使用一些疑问
  7. docker之NGINX镜像构建
  8. c++继承学习
  9. 旧版本的firefox 下载 和 安装(查找web元素路径) ---web 元素 自动化测试
  10. Jenkins - ERROR: Exception when publishing, exception message [Failed to connect session for config [IP(projectName)]. Message [Auth fail]]
  11. 解决PLSQL Developer 插入中文 乱码问题
  12. JS(基础)_总结获取页面中元素和节点的方式
  13. Vue自用axios封装
  14. html5中JavaScript删除全部节点
  15. nodejs高并发大流量的设计实现,控制并发的三种方法
  16. 8个让DevOps转型取得成功的关键步骤
  17. ubuntu 调节音量命令 声卡驱动
  18. npm install —— 从一个简单例子,看本地安装与全局安装的区别
  19. 《jquery实战》javascript 必知必会(2)
  20. information_schema系列九

热门文章

  1. 通过JDK常用工具监控Java进程的内存占用情况
  2. [翻译 EF Core in Action 1.6]你的第一个EF Core应用程序
  3. 《k8s-1.13版本源码分析》-测试环境搭建(k8s-1.13版本单节点环境搭建)
  4. JS 实现的年月日三级联动
  5. PowerDesigner制作UMI图
  6. GIS之家小专栏
  7. Oracle 18c 数据库中scott用户不存在的解决方法
  8. Sqlserver 事务处理模板
  9. Windows Server 2016-启用默认Windows搜索服务
  10. #ifndef, #define, #endif 作用