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接收多播数据的代码
Mar 01 Python
Python实现堆排序的方法详解
May 03 Python
Odoo中如何生成唯一不重复的序列号详解
Feb 10 Python
详解多线程Django程序耗尽数据库连接的问题
Oct 08 Python
Python3.6.x中内置函数总结及讲解
Feb 22 Python
详解pandas的外部数据导入与常用方法
May 01 Python
Python facenet进行人脸识别测试过程解析
Aug 16 Python
python logging日志模块原理及操作解析
Oct 12 Python
Python3直接爬取图片URL并保存示例
Dec 18 Python
python实现密度聚类(模板代码+sklearn代码)
Apr 27 Python
python生成xml时规定dtd实例方法
Sep 21 Python
python的dict判断key是否存在的方法
Dec 09 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
支持oicq头像的留言簿(一)
2006/10/09 PHP
php单一接口的实现方法
2015/06/20 PHP
php邮件发送的两种方式
2020/04/28 PHP
windows8.1下Apache+Php+MySQL配置步骤
2015/10/30 PHP
php常用字符串查找函数strstr()与strpos()实例分析
2019/06/21 PHP
跟随鼠标旋转的文字
2006/11/30 Javascript
贴一个在Mozilla中常用的Javascript代码
2007/01/09 Javascript
JQuery中html()方法使用不当带来的陷阱
2011/04/07 Javascript
Jquery实现视频播放页面的关灯开灯效果
2013/05/27 Javascript
node.js中的fs.readFileSync方法使用说明
2014/12/15 Javascript
浅谈JSON中stringify 函数、toJosn函数和parse函数
2015/01/26 Javascript
javascript实现信息增删改查的方法
2015/07/25 Javascript
jQuery实现简洁的导航菜单效果
2015/11/23 Javascript
基于JavaScript实现复选框的全选和取消全选
2017/02/09 Javascript
VUE2实现事件驱动弹窗示例
2017/10/21 Javascript
详解基于Vue+Koa的pm2配置
2017/10/24 Javascript
浅谈Vue SSR 的 Cookies 问题
2017/11/20 Javascript
vue组件name的作用小结
2018/05/23 Javascript
JS合并两个数组的3种方法详解
2019/10/24 Javascript
es6函数之严格模式用法实例分析
2020/03/17 Javascript
Python中使用logging模块代替print(logging简明指南)
2014/07/09 Python
python实现提取百度搜索结果的方法
2015/05/19 Python
python 禁止函数修改列表的实现方法
2017/08/03 Python
详解Python 模拟实现生产者消费者模式的实例
2017/08/10 Python
TensorFlow安装及jupyter notebook配置方法
2017/09/08 Python
Tensorflow tf.nn.depthwise_conv2d如何实现深度卷积的
2020/04/20 Python
Python第三方库安装缓慢的解决方法
2021/02/06 Python
一款利用css3的鼠标经过动画显示详情特效的实例教程
2014/12/29 HTML / CSS
越南电子产品购物网站:FPT Shop
2017/12/02 全球购物
乌克兰在线药房:Аптека24
2019/10/30 全球购物
灵泰克Java笔试题
2016/01/09 面试题
竞选大学学委演讲稿
2014/09/13 职场文书
离婚协议书怎么写(范本参考)
2014/09/30 职场文书
毕业生评语大全
2015/01/04 职场文书
PHP连接MSSQL数据库案例,PHPWAMP多个PHP版本连接SQL Server数据库
2021/04/16 PHP
Python面向对象编程之类的概念
2021/11/01 Python