Python 新建Excel文件,并且在Excel文件中增加行的内容

Python 新建Excel文件,并且在Excel文件中增加行的内容

# Python 新建Excel文件,并且在Excel文件中增加行的内容
import xlwt
import xlrd
import os
from xlutils.copy import copy

# Excel文件名称
file_name = "execl_test.xls"
# Excel文件sheet名称
sheet_name = "Sheet1"
# Excel文件sheet表头
heads = ["head1", "head2", "head3"]
# Excel文件新增的行的内容(以下为2行内容)
row_items = [
    {"head1": "item1", "head2": "item2", "head3": "item3"},
    {"head1": "item4", "head2": "item5", "head3": "item6"},
]
# Excel文件的相对路径
path = ".." + file_name

"""
函数名称:
    CreateExcelFile
    创建Excel文件
输入参数:
    file_name:Excel文件名称
    sheet_name:Excel文件Sheet表单名称
    heads:Excel表头内容(list类型)
输出参数:无
返回值:无
"""


def CreateExcelFile(file_name, sheet_name, heads):
    try:
        # 创建Workbook工作薄
        w = xlwt.Workbook(encoding="utf-8")
        # 创建sheet表单
        s = w.add_sheet(sheet_name)
        # 写入Excel表头内容
        for i in range(len(heads)):
            s.write(0, i, heads[i])
        # 保存
        w.save(file_name)
        print("创建Excel文件成功。")

    except Exception as e:
        print("创建Excel文件失败:", e)


"""
函数名称:
    AddRowItemsToExcel
    在Excel表中增加内容
输入参数:
    file_name:Excel文件名称
    row_items:新增加内容([{},{}]格式)
输出参数:无
返回值:无
"""


def AddRowItemsToExcel(file_name, row_items):
    try:
        # 打开Excel文件
        w1 = xlrd.open_workbook(file_name)
        # 获取Excel文件中所有sheet表单的名称
        ss = w1.sheet_names()
        # 获取Excel文件中第一个sheet表单
        s1 = w1.sheet_by_name(ss[0])
        # 获取当前Excel文件的行数
        n = s1.nrows
        # 获取Excel文件中的表头内容
        h = s1.row_values(0)
        # 拷贝xlrd对象成xlwt对象
        w2 = copy(w1)
        i = n
        s2 = w2.get_sheet(0)
        for item in row_items:
            for j in range(len(h)):
                s2.write(i, j, item[h[j]])
            i += 1
        w2.save(file_name)
        print("在Excel表中增加内容,操作成功")

    except Exception as e:
        print("在Excel表中增加内容,操作失败。", e)


if os.path.exists(path) == True:
    CreateExcelFile(file_name, sheet_name, heads)
AddRowItemsToExcel(file_name, row_items)
AddRowItemsToExcel(file_name, row_items)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值