• python 之 处理excel表的xlwt模块学习记录


    python 操作excel表的常用模块主要有2个:

    1:xlrd:读取excel表

    2:xlwt:创建并写入excel表

    安装方法:

    可以直接下载安装:https://pypi.python.org/pypi    也可以使用pip3安装

    以下以实例记录xlwt模块的使用方法

    # 创建一个基本的excel表格
    book = xlwt.Workbook(encoding='utf-8'# 生成excel文件并设置编码为utf8
    sheet = book.add_sheet('sheet_name'# 创建第一个sheet 表单
    sheet.write(2, 3, label='test data'# 一个表单里起始行和列都是从0开始计算,2表示:表单第二行, 3表示:第二行第三列,label表示这个表格的值
    book.save('boot.xls'# 保持名为 boot.xls的表

    # 进行自定义字体样式的excel表
    book = xlwt.Workbook(encoding='utf-8')
    sheet = book.add_sheet('sheet1')
    style = xlwt.XFStyle()  # 初始化样式
    font = xlwt.Font()  # 初始化字体
    font.name = 'Times New Roman'  # 使用字体的名称
    font.bold = True  # 字体加粗
    font.underline = True  # 字体加下划线
    font.italic = True  # 斜体字
    style.font = font  # 设定样式使用的字体
    sheet.write(0,0, 'unformated'# 不带样式的表单内容
    sheet.write(0,1, 'formated', style)  # 带样式的表单内容
    book.save('boot.xls')
    # 设置单元格的宽度
    book = xlwt.Workbook(encoding='utf-8')
    sheet = book.add_sheet('sheet1')
    sheet.write(0, 0, '测试用例')
    sheet.col(0).width = 3333  # 设置表单:sheet1 的第一列所有单元格的宽度
    book.save('boot.xls')
    # 输入一个日期到单元格
    import datetime
    book = xlwt.Workbook()
    sheet = book.add_sheet('sheet1')
    style = xlwt.XFStyle()  # 凡是设置表格属性,都需要初始化一个样式
    style.num_format_str = 'M/D/YY'  # 设置当前表格的日期格式,以下为其他可选的格式
    # D: 表示日期, M:表示月份,Y:表示年,h:表示小时,m:表示分钟,s:表示秒
    # Other options: D-MMM-YY, D-MMM, MMM-YY, h:mm, h:mm:ss, h:mm, h:mm:ss, M/D/YY h:mm, mm:ss, [h]:mm:ss, mm:ss.0
    sheet.col(1).width = 3333  # 设定日期表格宽度
    sheet.write(0,1, datetime.datetime.today(), style)  # 设定当前表格日期采用style样式显示
    book.save('boot.xls')
    # 向表格添加一个公式
    book = xlwt.Workbook()
    sheet = book.add_sheet('sheet')
    sheet.write(0, 0, 5)
    sheet.write(0, 1, 2)
    sheet.write(1, 0, xlwt.Formula(('A1*B1')))  # 实现第一行第一个字段和第二个字段值相乘,写入到第二行第一个表格内
    sheet.write(1, 1, xlwt.Formula('SUM(A1,B1)'))  # 实现第一行第一个字段和第二个字段值相加,写入到第二行第二个表格内
    book.save('boot.xls')
    # 向一个表格添加一个超链接
    book = xlwt.Workbook()
    sheet = book.add_sheet('sheet_link')
    sheet.write(0, 1, xlwt.Formula('HYPERLINK("http://www.baidu.com";"baidu")'))  # 在表格里创建一个超链接,名称为:baidu
    book.save('boot.xls')
    # 合并列和行
    # 关于write_merge(x,m,y,n)参数说明:x 表示行数,m表示跨行个数, y表示列, n表示跨列个数,行和列的开始计数都为0
    book = xlwt.Workbook()
    sheet = book.add_sheet('sheet')
    sheet.write_merge(0, 0, 1, 3, 'First merge'#
    font = xlwt.Font()
    font.bold = True
    style = xlwt.XFStyle()
    style.font = font
    sheet.write_merge(1, 2, 0, 3, 'second merge', style)
    book.save('boot.xls')
    # 设置单元格内容的对其方式,
    workbook = xlwt.Workbook()
    worksheet = workbook.add_sheet('My Sheet')
    alignment = xlwt.Alignment() # Create Alignment
    alignment.horz = xlwt.Alignment.HORZ_CENTER # May be: HORZ_GENERAL, HORZ_LEFT, HORZ_CENTER, HORZ_RIGHT, HORZ_FILLED, HORZ_JUSTIFIED, HORZ_CENTER_ACROSS_SEL, HORZ_DISTRIBUTED
    alignment.vert = xlwt.Alignment.VERT_CENTER # May be: VERT_TOP, VERT_CENTER, VERT_BOTTOM, VERT_JUSTIFIED, VERT_DISTRIBUTED
    style = xlwt.XFStyle() # Create Style
    style.alignment = alignment # Add Alignment to Style
    worksheet.write(0, 0, 'Cell Contents', style)
    workbook.save('boot.xls')
    # 为单元格设置背景色
    book = xlwt.Workbook()
    sheet = book.add_sheet('sheet')
    pattern = xlwt.Pattern()  # 初始化一个图案
    pattern.pattern = xlwt.Pattern.SOLID_PATTERN  # 可选:NO_PATTERN, SOLID_PATTERN, or 0x00 through 0x12
    pattern.pattern_fore_colour = 5  # 背景颜色为黄色
    # 可选: 0 = Black, 1 = White, 2 = Red, 3 = Green, 4 = Blue, 5 = Yellow, 6 = Magenta, 7 = Cyan, 16 = Maroon, 17 = Dark Green, 18 = Dark Blue, 19 = Dark Yellow , almost brown), 20 = Dark Magenta, 21 = Teal, 22 = Light Gray, 23 = Dark Gray, the list goes on...
    style = xlwt.XFStyle()
    style.pattern = pattern  # 添加样式
    sheet.write(0, 0, 'Cell content', style)
    book.save('boot.xls')
  • 相关阅读:
    整理用js实现tab标签页
    整理悬浮在列表中a元素时改变a元素上下边框颜色的问题。
    整理Javascript基础数据和引用数据复制值的问题
    这一周的学习整理
    关于变量作用域的一点整理
    Javascript 知识遗漏点梳理。
    安卓自定义TextView实现自动滚动
    解决 IntelliJ IDEA Tomcat 控制台中文输出乱码问题
    Tomcat 控制台UTF-8乱码问题
    java 实现hex文件转换bin保存至内存中
  • 原文地址:https://www.cnblogs.com/zy6103/p/10177694.html
Copyright © 2020-2023  润新知