美文网首页
Python -- excel

Python -- excel

作者: 墨凌风起 | 来源:发表于2020-07-11 16:31 被阅读0次

    coding:utf-8

    import xlrd
    import xlwt
    import xlutils

    print(xlrd.doc)

    print(dir(xlrd))

    #查看帮助文档

    print(help(xlrd.open_workbook))

    打开工作簿

    wrokBook = xlrd.open_workbook('test.xlsx')

    查看工作簿中所有属性与方法

    print(help(wrokBook))

    工作表总数

    num = wrokBook.nsheets
    print('工作表总数:%d' % num)

    所有工作表名

    print(wrokBook.sheet_names())

    获取所有工作表

    print(wrokBook.sheets())

    获取某个工作表

    1.索引

    sheet = wrokBook.sheets()[0]

    2.索引

    sheet = wrokBook.sheet_by_index(0)

    3.通过工作表名

    sheet = wrokBook.sheet_by_name('Sheet1')

    检查狗哥工作表是否导入完毕

    wrokBook.sheet_loaded(sheet_name or index)

    行操作

    获取工作表的行数

    print(sheet.nrows)

    获取第n行,包括单元格数据类型与单元格数据值

    print(sheet.row(3)) #返回该行所有单元格对象组成的列表

    返回该【列】所有单元格对象组成的列表

    print(sheet.row_slice(3))

    返回该行所有单元格数据类型组成的列表

    print(sheet.row_types(3,start_colx=0,end_colx=None))

    返回该行所有单元格数据组成的列表

    print(sheet.row_values(3,start_colx=0,end_colx=None))

    单元格长度

    print(sheet.row_len(4))

    列操作

    获取工作表有效列数

    print(sheet.ncols)

    该列所有单元格的【对象】组成的列表:类型+数据

    print(sheet.col(1,start_rowx=0,end_rowx=None))

    该列所有单元格的【对象】组成的列表:类型+数据

    print(sheet.col_slice(3,start_rowx=0,end_rowx=None))

    该列所有单元格的【数据类型】组成的列表:类型编号

    print(sheet.col_types(3,start_rowx=0,end_rowx=None))

    该列所有单元格的【数据】组成的列表

    print(sheet.col_values(3,start_rowx=0,end_rowx=None))

    print('*' * 100)

    单元格操作

    返回单元格对象

    print(sheet.cell(2,2))
    print(sheet.cell(2,2).value)

    返回单元格数据类型编号

    print(sheet.cell_type(2,2))

    返回单元格的数据

    print(sheet.cell_value(3,3))

    xlwt模块

    写入Excel

    创建excel工作簿,编码

    book= xlwt.Workbook(encoding = "utf-8")

    创建一个表

    sheet = book.add_sheet('测试Sheet2',cell_overwrite_ok = True)

    设置样式

    style = xlwt.XFStyle()

    设置字体

    font = xlwt.Font()
    font.name = 'Time New Roman'#
    font.bold = True #黑体
    font.underline = True #下划线
    font.italic = True #斜体
    font.color_index = 2 #字体颜色,0=black,1=white,2=red,3=green...
    style.font = font

    写入

    sheet.write(1,0,label="this is test")
    sheet.write(1,0,'测试') #相同单元格赋值,cell_overwrite_ok= true
    sheet.write(1,1,"中国")
    sheet.write(1,2,3)
    sheet.col(2).width = 10000 #设置单元格宽度
    sheet.write(2,1,'添加中国元素',style) #带样式添加

    输入一个日期到单元格

    import datetime
    style = xlwt.XFStyle()
    style.num_format_str = 'yyyy-MM-DD h:mm:ss'
    sheet.write(2,2,datetime.datetime.now(),style)

    输入一个超链接

    sheet.write(3,2,xlwt.Formula('HYPERLINK("https://www.baidu.com/";"百度")'))

    插入公式

    sheet.write(5,0,15)
    sheet.write(5,1,24)
    sheet.write(5,2,2)
    sheet.write(5,3,6)
    sheet.write(5,4,xlwt.Formula('SUM(A6*C6)'))
    sheet.write(5,5,xlwt.Formula('SUM(A6,D6)'))
    sheet.write(5,6,xlwt.Formula('SUM(A6:D6)'))

    对齐方式

    alignment = xlwt.Alignment()
    alignment.horz = xlwt.Alignment.HORZ_CENTER #HORZ_GENERAL,HORZ_CENTER/RIGHT/FILLED/JUSTIFIED/CENTER_ACROSS-SEL/DISTRIBUTED
    alignment.vert = xlwt.Alignment.VERT_CENTER #VERT_TOP/CENTER/BOTTOM/JUSTFIED/DISTRIBUTED
    style.alignment = alignment
    sheet.write(6,0,'河靖',style)
    sheet.write(6,1,'靖远')

    保存 文件存在就覆盖

    book.save('xlwt_test.xls')

    xlutils提供复制功能

    from xlutils.copy import copy

    new_book = copy(wrokBook)
    new_sheet = new_book.get_sheet(0)
    new_sheet.write(10,0,'复制')
    new_book.save('xlwt_test1_copy.xls')

    相关文章

      网友评论

          本文标题:Python -- excel

          本文链接:https://www.haomeiwen.com/subject/cpyicktx.html