• 企业400电话
  • 网络优化推广
  • AI电话机器人
  • 呼叫中心
  • 全 部 栏 目

    网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    python向xls写入数据(包括合并,边框,对齐,列宽)
    POST TIME:2021-10-18 15:01

    1、常规写入

    # -*- encoding=utf-8 -*-
    import xlwt
    
    if __name__ == '__main__':
      head = ['姓名', '年龄', '出生年月']
      data = [
        ['盖伦', '20', '2012-02-04'],
        ['赵信', '18', '2013-05-12'],
        ['女枪', '18', '2015-12-12'],
        ['剑圣', '20', '2012-11-14'],
        ]
      workbook = xlwt.Workbook()
      # 添加一个表,
      # cell_overwrite_ok=True表示覆盖,如果下标相同,则覆盖,不写,下标相同,则抛出异常
      sheet1 = workbook.add_sheet('Sheet1', cell_overwrite_ok=False)
      for index, info in enumerate(head): # 写入表头
        sheet1.write(0, index, info)
      for index, row_data in enumerate(data): # 写入数据,注意拼接下标
        for line, line_data in enumerate(row_data):
          sheet1.write(index + 1, line, line_data)
    
      sheet2 = workbook.add_sheet('Sheet2') # 添加一个表
      for index, info in enumerate(head): # 写入表头
        sheet2.write(0, index, info)
      for index, row_data in enumerate(data): # 写入数据,注意拼接下标
        for line, line_data in enumerate(row_data):
          sheet2.write(index + 1, line, line_data)
      workbook.save('savexls.xls')

    运行后

     2、合并单元格写入

    # -*- encoding=utf-8 -*-
    import xlwt
    
    if __name__ == '__main__':
      workbook = xlwt.Workbook()
      sheet1 = workbook.add_sheet('Sheet1')
      # 合并从0行到0行,从0列到1列
      sheet1.write_merge(0, 0, 0, 1, '合并单元格')
    
      # 合并从2行到4行,从0列到3列
      sheet1.write_merge(2, 4, 0, 3, '合并单元格')
      workbook.save('merge.xls')

    运行截图

    3、追加写入

    源xls文件

    # -*- encoding=utf-8 -*-
    
    import xlrd
    from xlutils.copy import copy
    
    if __name__ == '__main__':
      pass
      filename = 'readxls.xls'
      f = xlrd.open_workbook(filename) # 打开Excel为xlrd对象
      old_sheet = f.sheet_by_index(0) # 取到第一个旧表
      old_sheet_rows = old_sheet.nrows # 第一个旧表的行数,下面追加就得在这个后面写入数据
      copy_read = copy(f) # 把xlrd对象转为xlwt对象
      new_sheet = copy_read.add_sheet('new_sheet') # 添加新表,表名不能重复
      head = ['name', 'age', 'birthday']
      data = [[1, 2, 3], [4, '2019/02/01', 6], [7, 8, 9]]
      for index, info in enumerate(head): # 写入表头
        new_sheet.write(0, index, info)
      for index, row_data in enumerate(data): # 写入数据,注意拼接下标
        for line, line_data in enumerate(row_data):
          new_sheet.write(index + 1, line, line_data)
      exist_sheet = copy_read.get_sheet(0) # 取旧表
      exist_sheet.write(old_sheet_rows, 0, '新数据1')
      exist_sheet.write(old_sheet_rows, 1, '新数据2')
      exist_sheet.write(old_sheet_rows, 2, '新数据3')
      copy_read.save('append.xlsx')

    运行截图

    4、设置对齐,边框,列宽

    # -*- encoding=utf-8 -*-import xlwtbook = xlwt.Workbook()sheet = book.add_sheet('sheet')sheet.write(6, 6, 'data')align = xlwt.Alignment()align.horz = xlwt.Alignment.HORZ_CENTER # 水平居中align.vert = xlwt.Alignment.VERT_CENTER # 垂直居中font = xlwt.Font() # 字体基本设置font.name = u'新宋体'font.colour_index = 32764 # 字体颜色font.height = 160 # 字体大小borders = xlwt.Borders()borders.left = xlwt.Borders.THIN # 添加边框,细实线borders.right = xlwt.Borders.THINborders.top = xlwt.Borders.THINborders.bottom = xlwt.Borders.THINsheet.col(6).width = 12 * 256 # 设置列宽,一个中文等于两个英文等于两个字符,12为字符数,256为衡量单位style = xlwt.XFStyle()style.font = fontstyle.alignment = alignstyle.borders = borderssheet.write(6, 8, 'data', style)book.save('style.xls')

    以上就是python向xls写入数据(包括合并,边框,对齐,列宽)的详细内容,更多关于python向xls写入数据的资料请关注脚本之家其它相关文章!

    您可能感兴趣的文章:
    • python写入数据到csv或xlsx文件的3种方法
    • python xlsxwriter模块的使用
    • 用python读取xlsx文件
    • 关于Python 解决Python3.9 pandas.read_excel(‘xxx.xlsx‘)报错的问题
    • python利用xlsxwriter模块 操作 Excel
    • Python读取xlsx数据生成图标代码实例
    • python3 使用openpyxl将mysql数据写入xlsx的操作
    上一篇:Python datetime模块的使用示例
    下一篇:python 实现图片裁剪小工具
  • 相关文章
  • 

    关于我们 | 付款方式 | 荣誉资质 | 业务提交 | 代理合作


    © 2016-2020 巨人网络通讯

    时间:9:00-21:00 (节假日不休)

    地址:江苏信息产业基地11号楼四层

    《增值电信业务经营许可证》 苏B2-20120278

    X

    截屏,微信识别二维码

    微信号:veteran88

    (点击微信号复制,添加好友)

     打开微信