zoukankan      html  css  js  c++  java
  • python xlrd 读取excel.md

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

    更多精彩欢迎关注微信号:春风十里不如认识你
    一起学习,一起进步,欢迎上车,有问题随时联系,一起解决!!!

  • 相关阅读:
    C++学习:explicit关键字
    CMake入门——简单CMakeLists的编写
    EOJ Monthly 2020.1 E. 数的变幻
    CF #610Div2 B2.K for the Price of One (Hard Version) (dp解法 && 贪心解法)
    hdu 5147 Sequence II【树状数组/线段树】
    hdu 6581 Vacation【思维】
    dubbo源码学习(一)之ExtensionLoader
    xsd学习教程
    spring自定义schema学习
    如何更好地学习dubbo源代码(转)
  • 原文地址:https://www.cnblogs.com/taixiang/p/10164178.html
Copyright © 2011-2022 走看看