【Python】在python中使用xlrd和xlwt读写Excel

本文介绍了如何在Python中利用xlrd和xlwt库进行Excel文件的读取和写入操作。首先,通过pip安装所需库,然后通过xlrd读取Excel文件,展示读取工作簿、获取单元格数据以及处理日期类型数据的方法。接着,使用xlwt创建新的Excel文件,并设置单元格样式及写入数据。实例展示了如何创建合并单元格和设置不同字体样式。

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

在python中使用xlrd和xlwt读写Excel

1、xlrd读取Excel

首先是使用pip安装两个库

python读excel 使用: pip install xlrd

python写excel 使用: pip install xlwt

import xlrd

import datetime

from   datetime import date



def read_excel():

    # 打开文件

    wb = xlrd.open_workbook('D:/imps/tst.xls')

    # 获取所有sheet的名字

    print(wb.sheet_names())

    #sheetname = wb.sheet_names()[0]

    # sheet1索引从0开始,得到sheet1表的句柄

    sheet0 = wb.sheet_by_index(0)



    # 取得第一行列的有效数值数量

    rowMax = sheet0.nrows

    colMax = sheet0.ncols

    print("rowMax = %d"%(rowMax) )

    print("colMax = %d"%(colMax))

    # 获取某一个位置的数据   1 ctype : 0 empty,

    s = sheet0.cell(0, 0).value

    print(s)

    # python读取excel中单元格内容为日期的方式

    # 返回类型有5种 :1 string, 2 number, 3 date, 4 boolean, 5 error

    print(sheet0.cell(1, 2).ctype)

    for row in range(rowMax):

        for col in range(colMax):

             print( sheet0.cell(row,col).value    )

        print('----------------------')

read_excel()

2、使用xlwt写入Excel

#_*_coding:utf-8_*_

#!/usr/bin/python3



import xlwt



#设置表格样式

def set_stlye(name,height,bold=False):



    #初始化样式

    style = xlwt.XFStyle()



    #创建字体

    font = xlwt.Font()

    font.bold = bold

    font.colour_index = 4

    font.height = height

    font.name =name

    style.font = font

    return style



# 写入数据

def write_excel():

    f = xlwt.Workbook()

    # 创建sheet1

    sheet0 = f.add_sheet('sheet0', cell_overwrite_ok=True)

    row0 = ['金额', '状态', '广州', '深圳', '状态小计', '合计']

    col0 = ['机票', '船票', '火车票', '汽车票', '其他']

    status = [u'预定', u'出票', u'退票', u'业务小计']

    for i in range(0, len(row0)):

        sheet0.write(0, i, row0[i], set_stlye("Time New Roman",220,True))

        i, j = 1, 0

        while i < 4 * len(col0):

            # 控制循环:每次加4

            # 第一列

            sheet0.write_merge(i, i + 3, 0, 0, col0[j],set_stlye('Arial', 220, True))

            # 最后一列

            sheet0.write_merge(i, i + 3, 7, 7)

            i += 4

            sheet0.write_merge(21, 21, 0, 1, u'合计',set_stlye("Time New Roman", 220, True))

            j +=1

        i = 0

        while i < 4 * len(col0):  # 控制外层循环:每次加4

           for j in range(0, len(status)):  # 控制内层循环:设置每一行内容

              sheet0.write(i + j + 1, 1, status[j])

           i += 4

    f.save('D:/imps/data22.xls')

write_excel()

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值