栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python读写Excel文档

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python读写Excel文档

python读写Excel文档

一、前言二、需要的库三、对象类型四、使用xlwt库来写Excel文档

引入库写入举例效果 五、使用xlrd库来读Excel文档

引入库读取举例 六、完整代码

一、前言

使用python读写Excel库十分方便,安装 xlwt和xlrd 两个库后就可以愉快的玩耍了。接下来我们看下怎么使用吧

二、需要的库

xlwt库,写Excel文档xlrd库,读Excel文档 三、对象类型

Workbook类型:workbook即工作簿,对应一整个Excel文档,这个不用多解释;Worksheet类型:worksheet即工作表。一个Excel文档可以有若干个工作表,如下图。worksheet对象即代表对应下面的其中一张表;
四、使用xlwt库来写Excel文档

知道了对象类型,接下来我们来尝试把 九九乘法表 写入Excel文档

引入库

import xlwt 写入举例

接下来我们写一个方法来完成功能,注释都在代码里了

def writeExample(savePath):
    #创建工作簿
    workbook = xlwt.Workbook(encoding="utf-8");

    #创建工作表
    worksheet = workbook.add_sheet("九九乘法表")

    #写入
    for i in range(0, 9):
        for j in range(0, i+1):
            str = ("%d * %d = %d"%(i+1,j+1,(i+1)*(j+1)))
            #实际写入语句
            worksheet.write(i,j,str)

    #保存
    workbook.save(savePath)
效果

五、使用xlrd库来读Excel文档 引入库

import xlrd

读取举例
def readExample(excelPath):
    #获得book对象
    workbook = xlrd.open_workbook(excelPath)

    #获得sheet对象的3种写法
    worksheet = workbook.sheets()[0] #通过sheet()方法,并结合下标来获取
    # worksheet = workbook.sheet_by_index(0) #直接通过下标来获取
    # worksheet = workbook.sheet_by_name("your excel name") #通过名字来获取


    #因为xlrd库里的api没提示,这里手动指定类型,这样写起来就有提示了
    assert isinstance(worksheet,xlrd.sheet.Sheet)
    #自己写时若不知道类型,可以解开下面的打印,然后复制一下
    #print(type(worksheet))

    #打印行数和列数
    print("行数",worksheet.nrows)
    print("列数",worksheet.ncols)

    #获取第i,j个格子的值的3种写法
    print(worksheet.cell(0,0).value)
    print(worksheet.cell_value(0,0))
    print(worksheet.row(0)[0].value)

    #遍历
    for i in range(worksheet.nrows):
        for j in range(worksheet.ncols):
            print(worksheet.cell_value(i,j))

效果图

六、完整代码

import xlwt

excelPath = "./九九乘法表.xls"

def writeExample(savePath):
    #创建工作簿
    workbook = xlwt.Workbook(encoding="utf-8");

    #创建工作表
    worksheet = workbook.add_sheet("九九乘法表")

    #写入
    for i in range(0, 9):
        for j in range(0, i+1):
            str = ("%d * %d = %d"%(i+1,j+1,(i+1)*(j+1)))
            #实际写入语句
            worksheet.write(i,j,str)

    #保存
    workbook.save(savePath)

writeExample(excelPath)


import xlrd

def readExample(excelPath):
    #获得book对象
    workbook = xlrd.open_workbook(excelPath)

    #获得sheet对象的3种写法
    worksheet = workbook.sheets()[0] #通过sheet()方法,并结合下标来获取
    # worksheet = workbook.sheet_by_index(0) #直接通过下标来获取
    # worksheet = workbook.sheet_by_name("your excel name") #通过名字来获取


    #因为xlrd库里的api没提示,这里手动指定类型,这样就有提示了
    assert isinstance(worksheet,xlrd.sheet.Sheet)
    #自己写时若不知道类型,可以解开下面的打印,然后复制一下
    #print(type(worksheet))

    #打印行数和列数
    print("行数",worksheet.nrows)
    print("列数",worksheet.ncols)

    #获取第i,j个格子的值的3种写法
    print("获取第(0,0)个格子的值的3种写法")
    print(worksheet.cell(0,0).value)
    print(worksheet.cell_value(0,0))
    print(worksheet.row(0)[0].value)

    print()

    #遍历
    for i in range(worksheet.nrows):
        for j in range(worksheet.ncols):
            print(worksheet.cell_value(i,j),end="t")
        print()

readExample(excelPath)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/739347.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号