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实现对字符串的加密解密方法示例
Apr 29 Python
详谈Pandas中iloc和loc以及ix的区别
Jun 08 Python
numpy判断数值类型、过滤出数值型数据的方法
Jun 09 Python
完美解决Python 2.7不能正常使用pip install的问题
Jun 12 Python
kaggle+mnist实现手写字体识别
Jul 26 Python
python复制列表时[:]和[::]之间有什么区别
Oct 16 Python
pygame游戏之旅 添加游戏介绍
Nov 20 Python
python虚拟环境的安装和配置(virtualenv,virtualenvwrapper)
Aug 09 Python
使用PyCharm进行远程开发和调试的实现
Nov 04 Python
详解Python中打乱列表顺序random.shuffle()的使用方法
Nov 11 Python
python3字符串输出常见面试题总结
Dec 01 Python
如何获取numpy array前N个最大值
May 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
解析PHP提交后跳转
2013/06/23 PHP
php从给定url获取文件扩展名的方法
2015/03/14 PHP
php给一组指定关键词添加span标签的方法
2015/03/31 PHP
php开发微信支付获取用户地址
2015/10/04 PHP
PHP中类属性与类静态变量的访问方法示例
2016/07/13 PHP
Yii框架实现对数据库的CURD操作示例
2019/09/03 PHP
javascript编程起步(第四课)
2007/02/27 Javascript
JavaScript去掉空格的方法集合
2010/12/28 Javascript
jQuery操作Select选择的Text和Value(获取/设置/添加/删除)
2013/03/06 Javascript
JS控制阿拉伯数字转为中文大写示例代码
2013/09/04 Javascript
js处理json以及字符串的比较等常用操作
2013/09/08 Javascript
jQuery中关于ScrollableGridPlugin.js(固定表头)插件的使用逐步解析
2014/07/17 Javascript
浅谈Javascript变量作用域问题
2014/12/16 Javascript
JavaScript中操作字符串小结
2015/05/04 Javascript
javascript检查浏览器是否已经启用XX功能
2015/07/10 Javascript
基于JS实现移动端向左滑动出现删除按钮功能
2017/02/22 Javascript
jQuery插件FusionCharts实现的2D饼状图效果【附demo源码下载】
2017/03/03 Javascript
详解使用Vue Router导航钩子与Vuex来实现后退状态保存
2017/09/11 Javascript
vue组件横向树实现代码
2018/08/02 Javascript
详解es6新增数组方法简便了哪些操作
2019/05/09 Javascript
VueJS 取得 URL 参数值的方法
2019/07/19 Javascript
为什么Vue3.0使用Proxy实现数据监听(defineProperty表示不背这个锅)
2019/10/14 Javascript
有趣的JavaScript隐式类型转换操作实例分析
2020/05/02 Javascript
[01:51]历届DOTA2国际邀请赛举办地回顾 TI9落地上海
2018/08/26 DOTA
python开发的小球完全弹性碰撞游戏代码
2013/10/15 Python
python使用str & repr转换字符串
2016/10/13 Python
python文件拆分与重组实例
2018/12/10 Python
Python通过队列来实现进程间通信的示例
2020/10/14 Python
python 用opencv实现霍夫线变换
2020/11/27 Python
HTML5里autofocus自动聚焦属性使用介绍
2016/06/22 HTML / CSS
HTML5 video 视频标签使用介绍
2014/02/03 HTML / CSS
EJB的激活机制
2013/10/25 面试题
2015小学语文教师个人工作总结
2015/05/20 职场文书
解决goland 导入项目后import里的包报红问题
2021/05/06 Golang
vue实现移动端div拖动效果
2022/03/03 Vue.js
python中 .npy文件的读写操作实例
2022/04/14 Python