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 相关文章推荐
Pycharm学习教程(7)虚拟机VM的配置教程
May 04 Python
python中利用xml.dom模块解析xml的方法教程
May 24 Python
浅谈python内置变量-reversed(seq)
Jun 21 Python
Python探索之SocketServer详解
Oct 28 Python
Python 使用PIL中的resize进行缩放的实例讲解
Aug 03 Python
python文字和unicode/ascll相互转换函数及简单加密解密实现代码
Aug 12 Python
Python笔记之工厂模式
Nov 20 Python
tensorflow 自定义损失函数示例代码
Feb 05 Python
python redis存入字典序列化存储教程
Jul 16 Python
使用scrapy ImagesPipeline爬取图片资源的示例代码
Sep 28 Python
Python基于mediainfo批量重命名图片文件
Dec 29 Python
Python 键盘事件详解
Nov 11 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手册及PHP编程标准
2006/12/17 PHP
php制作简单模版引擎
2016/04/07 PHP
分享php多功能图片处理类
2016/05/15 PHP
laravel 实现设置时区的简单方法
2019/10/10 PHP
php use和include区别总结
2019/10/13 PHP
使用onbeforeunload属性后的副作用
2007/03/08 Javascript
简略说明Javascript中的= =(等于)与= = =(全等于)区别
2013/04/16 Javascript
删除节点的jquery代码
2014/01/13 Javascript
如何设置一定时间内只能发送一次请求
2014/02/28 Javascript
javascript文件中引用依赖的js文件的方法
2014/03/17 Javascript
nodejs 整合kindEditor实现图片上传
2015/02/03 NodeJs
PhotoShop给图片自动添加边框及EXIF信息的JS脚本
2015/02/15 Javascript
JS制作简单的三级联动
2015/03/18 Javascript
纯javascript制作日历控件
2015/07/17 Javascript
jquery悬浮提示框完整实例
2016/01/13 Javascript
20分钟成功编写bootstrap响应式页面 就这么简单
2016/05/12 Javascript
浅谈Sublime Text 3运行JavaScript控制台
2016/06/06 Javascript
JS组件系列之MVVM组件 vue 30分钟搞定前端增删改查
2017/04/28 Javascript
jQuery返回定位插件详解
2017/05/15 jQuery
在vue中使用Autoprefixed的方法
2018/07/27 Javascript
Javascript地址引用代码实例解析
2020/02/25 Javascript
vue使用echarts画组织结构图
2021/02/06 Vue.js
以Python的Pyspider为例剖析搜索引擎的网络爬虫实现方法
2015/03/30 Python
python 字符串和整数的转换方法
2018/06/25 Python
攻击者是如何将PHP Phar包伪装成图像以绕过文件类型检测的(推荐)
2018/10/11 Python
Python企业编码生成系统之主程序模块设计详解
2019/07/26 Python
Python命令行click参数用法解析
2019/12/19 Python
HTML5和以前HTML4的区别整理
2013/10/20 HTML / CSS
HTML利用九宫格原理进行网页布局
2020/03/13 HTML / CSS
福克斯租车:Fox Rent A Car
2017/04/13 全球购物
千禧酒店及度假村官方网站:Millennium Hotels and Resorts
2019/05/10 全球购物
大学英语演讲稿(中英文对照)
2014/01/14 职场文书
学生会工作感言
2015/08/07 职场文书
python 算法题——快乐数的多种解法
2021/05/27 Python
css height属性中的calc方法详解
2021/06/03 HTML / CSS
python APScheduler执行定时任务介绍
2022/04/19 Python