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 相关文章推荐
python制作花瓣网美女图片爬虫
Oct 28 Python
学习python类方法与对象方法
Mar 15 Python
python算法表示概念扫盲教程
Apr 13 Python
解读python logging模块的使用方法
Apr 17 Python
Python实现判断一行代码是否为注释的方法
May 23 Python
python字符串常用方法
Jun 14 Python
python 根据字典的键值进行排序的方法
Jul 24 Python
django drf框架中的user验证以及JWT拓展的介绍
Aug 12 Python
python线程的几种创建方式详解
Aug 29 Python
Python decimal模块使用方法详解
Jun 08 Python
关于python3.7安装matplotlib始终无法成功的问题的解决
Jul 28 Python
基于python实现简单网页服务器代码实例
Sep 14 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
分享10段PHP常用代码
2015/11/11 PHP
php封装的mysqli类完整实例
2016/10/18 PHP
php实现姓名根据首字母排序的类与方法(实例代码)
2018/05/16 PHP
PHP如何防止用户重复提交表单
2020/12/09 PHP
JavaScript Date对象使用总结
2009/05/14 Javascript
Extjs4 消息框去掉关闭按钮(类似Ext.Msg.alert)
2013/04/02 Javascript
JavaScript的Module模式编程深入分析
2013/08/13 Javascript
jquery.post用法关于type设置问题补充
2014/01/03 Javascript
ie浏览器使用js导出网页到excel并打印
2014/03/11 Javascript
js实现div拖动动画运行轨迹效果代码分享
2015/08/27 Javascript
AngularJS入门教程之AngularJS 模板
2016/08/18 Javascript
AngularJS 所有版本下载地址
2016/09/14 Javascript
利用angular.copy取消变量的双向绑定与解析
2016/11/25 Javascript
Node.js数据库操作之查询MySQL数据库(二)
2017/03/04 Javascript
详解angular element()方法使用
2017/04/08 Javascript
jQuery为某个div加入行样式
2017/06/09 jQuery
利用jquery和BootStrap实现动态滚动条效果
2018/12/03 jQuery
JavaScript实现页面中录音功能的方法
2019/06/04 Javascript
CKeditor4 字体颜色功能配置方法教程
2019/06/26 Javascript
Vue+Koa2+mongoose写一个像素绘板的实现方法
2019/09/10 Javascript
vue动态循环出的多个select出现过的变为disabled(实例代码)
2019/11/10 Javascript
python 多线程实现检测服务器在线情况
2015/11/25 Python
用ReactJS和Python的Flask框架编写留言板的代码示例
2015/12/19 Python
python3.6 实现AES加密的示例(pyCryptodome)
2018/01/10 Python
Python实现检测文件MD5值的方法示例
2018/04/11 Python
Django使用HttpResponse返回图片并显示的方法
2018/05/22 Python
pygame实现简易飞机大战
2018/09/11 Python
详解PyCharm安装MicroPython插件的教程
2019/06/24 Python
利用python实现短信和电话提醒功能的例子
2019/08/08 Python
Python django框架开发发布会签到系统(web开发)
2020/02/12 Python
python手写均值滤波
2020/02/19 Python
解决jupyter notebook打不开无反应 浏览器未启动的问题
2020/04/10 Python
如何教少儿学习Python编程
2020/07/10 Python
制药工程专业个人求职自荐信
2014/01/25 职场文书
个人合作协议书范本
2014/04/18 职场文书
52条SQL语句教你性能优化
2021/05/25 MySQL