python向xls写入数据(包括合并,边框,对齐,列宽)

 更新时间:2021年02月02日 17:14:06   作者:南风丶轻语  
这篇文章主要介绍了python向xls写入数据(包括合并,边框,对齐,列宽),帮助大家更好的利用python处理表格,感兴趣的朋友可以了解下

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常用编码的区别介绍

    Python常用编码的区别介绍

    这篇文章介绍了Python常用编码的区别,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • Tesserocr库的正确安装方式

    Tesserocr库的正确安装方式

    今天小编就为大家分享一篇关于Tesserocr库的正确安装方式,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-10-10
  • 对于Python中RawString的理解介绍

    对于Python中RawString的理解介绍

    下面小编就为大家带来一篇对于Python中RawString的理解介绍。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-07-07
  • Python中日期和时间的互相转换操作方法

    Python中日期和时间的互相转换操作方法

    Python的datetime模块提供了一套强大而灵活的工具,使我们能够轻松地在不同的时间表示形式间相互转换,并进行复杂的时间计算,本文通过一个实用的例子向大家展示如何在Python中高效地进行这些操作,感兴趣的朋友一起看看吧
    2024-05-05
  • Python MySQLdb Linux下安装笔记

    Python MySQLdb Linux下安装笔记

    这篇文章主要介绍了Python MySQLdb Linux下安装笔记,本文分别讲解了快速安装和手动编译安装两种方法,并分别讲解了操作步骤,需要的朋友可以参考下
    2015-05-05
  • Python中的反射知识点总结

    Python中的反射知识点总结

    在本篇文章里小编给大家整理了一篇关于Python中的反射知识点总结内容,有需要的朋友们可以跟着学习参考下。
    2021-11-11
  • python中reversed与reverse的区别解析

    python中reversed与reverse的区别解析

    reverse()是python中列表的一个内置方法(在字典、字符串和元组中没有这个内置方法),用于列表中数据的反转,这篇文章主要介绍了python中reversed与reverse的区别,需要的朋友可以参考下
    2023-03-03
  • 在Python中操作列表之List.pop()方法的使用

    在Python中操作列表之List.pop()方法的使用

    这篇文章主要介绍了在Python中操作列表之List.pop()方法的使用,是Python入门中的基础知识,尤其该方法的返回值在Python编程中经常被灵活运用,需要的朋友可以参考下
    2015-05-05
  • PyQt5打开文件对话框QFileDialog实例代码

    PyQt5打开文件对话框QFileDialog实例代码

    这篇文章主要介绍了PyQt5打开文件对话框QFileDialog实例代码,分享了相关代码示例,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下
    2018-02-02
  • pytorch实践线性模型3d详解

    pytorch实践线性模型3d详解

    这篇文章主要介绍了pytorch实践线性模型3d详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-04-04

最新评论