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


Posted in Python onFebruary 02, 2021

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')

运行后

python向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')

运行截图

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

3、追加写入

源xls文件

python向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')

运行截图

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

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向xls写入数据的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
python3读取MySQL-Front的MYSQL密码
May 03 Python
浅谈Python生成器generator之next和send的运行流程(详解)
May 08 Python
python中字符串变二维数组的实例讲解
Apr 03 Python
Python 判断文件或目录是否存在的实例代码
Jul 19 Python
Django forms组件的使用教程
Oct 08 Python
如何用Python破解wifi密码过程详解
Jul 12 Python
Django+zTree构建组织架构树的方法
Aug 21 Python
python numpy存取文件的方式
Apr 01 Python
flask的orm框架SQLAlchemy查询实现解析
Dec 12 Python
浅谈keras中loss与val_loss的关系
Jun 22 Python
详解python logging日志传输
Jul 01 Python
python实现剪贴板的操作
Jul 01 Python
Python datetime模块的使用示例
Feb 02 #Python
Python基于argparse与ConfigParser库进行入参解析与ini parser
Feb 02 #Python
python中子类与父类的关系基础知识点
Feb 02 #Python
python中time包实例详解
Feb 02 #Python
python+playwright微软自动化工具的使用
Feb 02 #Python
python爬虫智能翻页批量下载文件的实例详解
Feb 02 #Python
Python3.9.0 a1安装pygame出错解决全过程(小结)
Feb 02 #Python
You might like
php实现获取及设置用户访问页面语言类
2014/09/24 PHP
php中让人头疼的浮点数运算分析
2016/10/10 PHP
php常用字符串String函数实例总结【转换,替换,计算,截取,加密】
2016/12/07 PHP
Laravel中使用Queue的最基本操作教程
2017/12/27 PHP
popdiv
2006/07/14 Javascript
IE8下String的Trim()方法失效的解决方法
2013/11/08 Javascript
javascript计算星座属相(十二生肖属相)示例代码
2014/01/09 Javascript
Javascript 函数parseInt()转换时出现bug问题
2014/05/20 Javascript
浅谈javascript中的instanceof和typeof
2015/02/27 Javascript
javascript框架设计之类工厂
2015/06/23 Javascript
jQuery图片旋转插件jQueryRotate.js用法实例(附demo下载)
2016/01/21 Javascript
基于Bootstrap的UI扩展 StyleBootstrap
2016/06/17 Javascript
AngularJS 路由详解和简单实例
2016/07/28 Javascript
使用Bootstrap美化按钮实例代码(demo)
2017/02/03 Javascript
深入解析Vue 组件命名那些事
2017/07/18 Javascript
React组件中的this的具体使用
2018/02/28 Javascript
JQuery实现折叠式菜单的详细代码
2020/06/03 jQuery
关于angular引入ng-zorro的问题浅析
2020/09/09 Javascript
微信小程序实现单个或多个倒计时功能
2020/11/01 Javascript
[08:07]DOTA2每周TOP10 精彩击杀集锦vol.8
2014/06/25 DOTA
Python的re模块正则表达式操作
2016/05/25 Python
Python及Django框架生成二维码的方法分析
2018/01/31 Python
Python使用pymysql从MySQL数据库中读出数据的方法
2018/07/25 Python
VSCode Python开发环境配置的详细步骤
2019/02/22 Python
详解python3安装pillow后报错没有pillow模块以及没有PIL模块问题解决
2019/04/17 Python
pandas基于时间序列的固定时间间隔求均值的方法
2019/07/04 Python
python中的RSA加密与解密实例解析
2019/11/18 Python
基于Django实现日志记录报错信息
2019/12/17 Python
Python爬虫库requests获取响应内容、响应状态码、响应头
2020/01/25 Python
如何使用Python调整图像大小
2020/09/26 Python
Ann Taylor官方网站:美国最大的女性产品制造商之一
2016/09/14 全球购物
HomeAway澳大利亚:预订你的度假屋,公寓、度假村、别墅等
2019/02/20 全球购物
医护人员英文求职信范文
2013/11/26 职场文书
教师师德承诺书
2014/03/26 职场文书
委托公证书样本
2015/01/23 职场文书
总结会主持词
2015/07/02 职场文书