Python学习笔记-Excel读写操作

需要先安装xlrd(读)、xlwt(写)库

pip install xlrd

pip install xlwt

代码如下:

import os
import sys
import xlrd
import xlwt
import datetime

def readSheet(filePath, sheetIndex = 0):
    if not os.path.exists(filePath):
        print '%s is not exist' %filePath
        sys.exit(0)
    startTime = datetime.datetime.now()
    workbook = xlrd.open_workbook(filePath)
    sheet = workbook.sheet_by_index(sheetIndex)
    nrows = sheet.nrows
    if nrows == 0:
        print '%s no data need to read' %filePath
        sys.exit(0)
    trow = 2 if nrows > 1 else 1
    ncols = sheet.ncols
    types = [sheet.row(trow)[i].ctype for i in xrange(ncols)]
    datas = [[] * ncols for i in xrange(nrows)]
    for r in xrange(nrows):
        for c in xrange(ncols):
            if (sheet.cell(r, c).ctype == 3):
                date_tuple = xlrd.xldate_as_tuple(sheet.cell_value(r, c), workbook.datemode)
                date_value = datetime.date(*date_tuple[:3]).strftime('%Y/%m/%d')
                datas[r].append(date_value)
            else :
                datas[r].append(sheet.row(r)[c].value)
    endTime = datetime.datetime.now()
    print 'read %s spend time %s seconds' %(filePath, (endTime - startTime).seconds)
    return (sheet.name, types, datas)

def readSheets(filePath):
    if not os.path.exists(filePath):
        print '%s is not exist' %filePath
        sys.exit(0)
    startTime = datetime.datetime.now()
    data = xlrd.open_workbook(filePath)
    sheets = data.sheets()
    endTime = datetime.datetime.now()
    print 'read %s spend time %s seconds' %(filePath, (endTime - startTime).seconds)
    return sheets
    
def writeSheet(sheet, fileDir):
    startTime = datetime.datetime.now()
    if not os.path.exists(fileDir):
        os.mkdir(fileDir)
    filePath = fileDir + os.sep + 'tmp.xls'
    workbook = xlwt.Workbook(encoding='utf-8')
    wsheet = workbook.add_sheet(sheet[0], cell_overwrite_ok = True)
    #style = xlwt.easyxf('font: height 300, name SimSun, bold 1, color red;')
    font = xlwt.Font()
    font.name = 'Times New Roman'
    font.bold = True
    font.height = 300
    font.colour_index = 2
    style = xlwt.XFStyle()
    style.font = font
    #style.num_format_str= 'YYYY-MM-DD'
    #style.num_format_str = '$#,##0.00'
    datas = sheet[2]
    nrows = len(datas)
    ncols = len(datas[0])
    for ncol in xrange(ncols):
        wsheet.col(ncol).width = 256 * 30
        #wsheet.col(ncol).collapse = 1
        #wsheet.col(ncol).best_fit = 1
    for r in xrange(nrows):
        for c in xrange(ncols):
            wsheet.write(r, c, datas[r][c], style)
    workbook.save(filePath)
    endTime = datetime.datetime.now()
    print 'write data to %s spend time %s seconds' %(fileDir, (endTime - startTime).seconds)
    
if __name__ == '__main__' :
    sheet = readSheet("d:\\excel\\a.xlsx")
    writeSheet(sheet, "d:\\excel\\t")




  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python学习笔记》是由皮大庆编写的一本关于Python语言学习的教材。在这本书中,作者详细介绍了Python语言的基础知识、语法规则以及常用的编程技巧。 首先,作者简要介绍了Python语言的特点和优势。他提到,Python是一种易于学习和使用的编程语言,受到了广大程序员的喜爱。Python具有简洁、清晰的语法结构,使得代码可读性极高,同时也提供了丰富的库和模块,能够快速实现各种功能。 接着,作者详细讲解了Python的基本语法。他从变量、数据类型、运算符等基础知识开始,逐步介绍了条件语句、循环控制、函数、模块等高级概念。同时,作者通过大量的示例代码和实践案例,帮助读者加深对Python编程的理解和应用。 在书中,作者还特别强调了编写规范和良好的编程习惯。他从命名规范、注释风格、代码缩进等方面指导读者如何写出清晰、可读性强的Python代码。作者认为,良好的编程习惯对于提高代码质量和提高工作效率非常重要。 此外,作者还介绍了Python的常用库和模块。他提到了一些常用的库,如Numpy、Pandas、Matplotlib等。这些库在数据处理、科学计算、可视化等领域有广泛的应用,帮助读者更好地解决实际问题。 总的来说,《Python学习笔记》是一本非常实用和全面的Python学习教材。通过学习这本书,读者可以系统地学习和掌握Python编程的基础知识和高级应用技巧,为以后的编程学习和工作打下坚实的基础。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值