【python】使用xlrd和xlwt实现表格创建、sheet添加、内容存储

这篇具有很好参考价值的文章主要介绍了【python】使用xlrd和xlwt实现表格创建、sheet添加、内容存储。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

最近在编程的过程中,总是涉及将数据存储到EXECEL情况,下面将自己实现的方法进行分析与共享,有瑕疵的地方还请赐教。
一、直接上代码

"""
功能描述:实现execel表中插入数据
涵盖逻辑:
1、对于无文件,自动创建文件,后自动存储数据
2、对于有文件,无sheet页,自动创建sheet页,后自动存储数据
3、对于有文件,有sheet页,自动存储数据
"""

import xlrd,xlwt
from xlutils.copy import copy
import os

def add_new_sheet_or_data(save_file,sheet_name,col_names,data_list):
    """
    功能:实现execel多sheet页插入数据
    :param save_file:要存储的文件
    :param sheet_name:sheet的名字
    :param col_names:sheet表的表头
    :param data_list:要存储的数据,本例为嵌套list[[1,2,3,4],[11,22,33,44]],每个子list的长度建议与sheet表头对应
    :return:
    """
    #如果不存在文件,则创建文件以及sheet页
    if not os.path.exists(save_file):
        table = xlwt.Workbook(encoding= "utf-8")
        wbsheet = table.add_sheet(sheet_name, cell_overwrite_ok=True)
        if col_names:
            for i in range(len(col_names)):
                wbsheet.write(0, i, col_names[i],style=xlwt.easyxf('font: bold on; align: wrap on, vert centre, horiz center'))
        row =1
    else:
        wb = xlrd.open_workbook(save_file)
        sheet_names = wb.sheet_names()
        table =copy(wb)
        # 如果存在文件,但不存在sheet页,则创建sheet页
        if sheet_name not in sheet_names:
            wbsheet = table.add_sheet(sheet_name)
            if col_names:
                for i in range(len(col_names)):
                    wbsheet.write(0, i, col_names[i],style=xlwt.easyxf('font: bold on; align: wrap on, vert centre, horiz center'))
            row = 1
        #如果存在文件+sheet页,则直接获取行号
        else:
            wbsheet = table.get_sheet(sheet_name)
            row =len(wbsheet.rows)

    for i in range(len(data_list)):
        for j in range(len(data_list[i])):
                wbsheet.write(row, j, data_list[i][j],style=xlwt.easyxf('font: bold on; align: wrap on, vert centre, horiz center'))
        row += 1
    table.save(save_file)

save_file = os.path.dirname(os.path.abspath(__file__))+"/test自动创建表格.xls"

"""
case1:无表
sheet_name = "试用第一次"
col_names = ("字段0","字段1","字段2","字段3")
data_list =[[1,2,3,4],[11,22,33,44]]
"""
"""
case2:有表,无sheet页
sheet_name = "试用第二次"
col_names = ("字段0","字段1","字段2","字段3")
data_list =[[1,2,3,4],[11,22,33,44]]
"""
"""
case3:有表,有sheet页
"""
sheet_name = "试用第二次"
col_names = ("字段0","字段1","字段2","字段3")
data_list =[[6,7,8,9],[66,77,88,99]]

add_new_sheet_or_data(save_file, sheet_name, col_names, data_list)

二、测试代码
(1)当无文档路径的情况下,会自动创建一个文档,并将数据存储到表格中
【python】使用xlrd和xlwt实现表格创建、sheet添加、内容存储,python
(2)当有文档,无对应的sheet页时,将自动添加sheet页,并存储
原sheet页无变化,
【python】使用xlrd和xlwt实现表格创建、sheet添加、内容存储,python
(3)有文档有sheet页时,自动存储数据

【python】使用xlrd和xlwt实现表格创建、sheet添加、内容存储,python文章来源地址https://www.toymoban.com/news/detail-655214.html

到了这里,关于【python】使用xlrd和xlwt实现表格创建、sheet添加、内容存储的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python pandas 获取Excel文件下所有的sheet名称,表格数据

    方法1: 一定要加sheet_name=None,才能读取出所有的sheet,否则默认读取第一个sheet,且获取到的keys是第一行的值 方法2:

    2024年02月13日
    浏览(38)
  • Springboot基于easyexcel实现一个excel文件包含多个sheet表格的数据导出

    EasyExcel 是一款基于Java的开源Excel操作工具,它提供了简单且强大的 API,使开发人员可以轻松地读写、操作和生成Excel文件。 EasyExcel 支持 Excel 文件的导入和导出,可以处理大量数据,具有高性能和低内存占用。它可以读取 Excel 文件中的数据,并将数据转换为 Java 对象,也可

    2024年02月03日
    浏览(45)
  • python——xlrd库使用

         xlrd是读取excel,xlwt是写入excel -----------------------------------------------xlrd库函数----------------------------------------------------- 打开文件 x1 = xlrd.open_workbook(filename)

    2024年02月06日
    浏览(24)
  • 使用vue-easytable实现仿excel表格,支持可编辑、添加删除行、虚拟表格等功能

    使用npm安装vue-easytable 在 main.js 中写入以下内容: 代码实现 效果  表格配置 参数 说明 类型 可选值 默认值 tableData 表格数据 Array - - footerData 表格footer 汇总数据,数据结构和 tableData 一致 Array - - columns 列配置,具体项见下表 columns 配置 Array - - showHeader 是否展示表头 Boolean -

    2024年02月08日
    浏览(44)
  • python中xlrd模块的基本使用

    目前接触到的 python 中用来对 excel 操作的模块包括:xlrd 和 xlwt,前者用来对 excel 进行读操作,后者用来进行写操作,这里先来说一下 xlrd 模块 一、xlrd 模块的安装 打开cmd 窗口,输入 pip install xlrd 安装完成即可,需要注意:默认安装的是最新版的 xlrd ,但是最新版已经不支持

    2024年02月03日
    浏览(30)
  • python 安装、配置、使用 xlrd模块、numpy模块、matplotlib、opencv模块

    目录  一、xlrd模块 (一)安装xlrd模块 (二) pycharm 配置xlrd (三) 读取xls格式 (四)xlrd读取时间日期时,会是float类型,需要转换。 二、numpy模块  (一)numpy模块安装---使用清华大学镜像进行安装即可 (二)pycharm配置时,numpy安装失败,且代码中出现 No module named \\\'numpy\\\' (1)

    2024年02月09日
    浏览(36)
  • 如何使用xlwings库创建图表及设置坐标轴标题文本内容----关于Python里xlwings库对Excel表格的操作(三十二)

    这篇小笔记主要记录如何 【如何使用“Chart类”、“Api类\\\"和“Axes函数”设置坐标轴标题文本内容】 。 前面的小笔记已整理成目录,可点链接去目录寻找所需更方便。 【目录部分内容如下】【点击此处可进入目录】 (1)如何安装导入xlwings库; (2)如何在Wps下使用xlwings中

    2024年01月22日
    浏览(49)
  • python—xlwt模块详解

    xlwt模块是python中专门用于写入Excel的拓展模块,可以实现创建表单、写入指定单元格、指定单元格样式等人工实现的功能,一句话就是人使用excel实现的功能,这个扩展包都可以实现。 1、创建workbook(创建excel) 2、创建sheet表 3、写入数据 4、保存workbook 上面的示例代码综合后如

    2024年02月02日
    浏览(26)
  • 「第四章」python-docx 为word添加表格、设置表格边框

    第三章中,我们讲解了如何在利用 add_heading 在 docx 文档中花式添加标题,这一节,我们来一起玩一下 docx 中的 table ,也就是表格,表格部分的内容还蛮多的,我们这一章不一定讲得完,能嘚吧多少算多少,今天刚好有时间,多更新一些哇。🎃 🧡 导入 docx 库 🧡 创建 docum

    2024年02月02日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包