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/

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

  • 相关阅读:
    又玩起了“数独”
    WebService应用:音乐站图片上传
    大家都来DIY自己的Blog啦
    CSS导圆角,不过这个代码没有怎么看懂,与一般的HTML是不同
    网站PR值
    CommunityServer2.0何去何从?
    网络最经典命令行
    炎热八月,小心"落雪"
    Topology activation failed. Each partition must have at least one index component from the previous topology in the new topology, in the same host.
    SharePoint 2013服务器场设计的一些链接
  • 原文地址:https://www.cnblogs.com/taixiang/p/10164178.html
Copyright © 2011-2022 走看看