七、文件处理之创建表格

本文介绍了一个使用Python库xlwt和xlrd操作Excel的工作,包括创建新工作簿、添加页签、设置样式和写入数据,以及保存文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import xlwt,xlrd
from xlutils.copy import copy
from datetime import datetime
from xlrd import xldate_as_tuple

class Excel:
    """
    新建多页签表格并写入数据
    """
    def __init__(self,path_name,font_name='Times New Roman',height=220,bold=True):
        """
        :param path_name: 新建表格的名称默认当前路径
        :param font_name: 文字字体
        :param height:文字高度
        :param bold:文字加粗
        """
        self.path_name = path_name
        self.font_name = font_name
        self.height = height
        self.bold = bold
        self.number = 0
        self.__example__()

    def __example__(self):
        """
        初始化参数和实例化对象
        :return:
        """
        self.write = xlwt.Workbook()
        self.sheet_obj_list = []

    def add_sheet(self,sheet_name):
        """
        追加页签对象
        :param sheet_name: 页签名称
        :return:
        """
        try:
            self.sheet_obj_list.append(self.write.add_sheet(sheet_name,cell_overwrite_ok=True))
            return
        except:
            return '表格页签不允许重名'
    def set(self,data,sheet_name,with_style=[]):
        """
        数据写入表格
        :param data: 被写入的数据
        :param sheet_name: 数据存放的页签名
        :param set_style:样式
        :return:
        """
        assert type(data) == list

        result = self.add_sheet(sheet_name)
        style = xlwt.XFStyle()
        alignment = xlwt.Alignment()
        alignment.horz = 0x01
        alignment.wrap = 1
        style.alignment = alignment
        if with_style != []:
            for i in with_style:
                self.sheet_obj_list[self.number].col(i[0]).width = i[1]
        for i in range(len(data)):
            if i != 0:
                self.bold = False
            for j in range(len(data[i])):
                try:
                    self.sheet_obj_list[self.number].write(i,j,data[i][j],style)
                except Exception as e:
                    print(e)
                    return e
        self.number = self.number + 1
        return result
    def save(self):
        """
        保存表格
        :return:
        """
        self.write.save(self.path_name)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Bug来袭~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值