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 24 Python
python实现的一个p2p文件传输实例
Jun 04 Python
python实现分页效果
Oct 25 Python
python批量替换多文件字符串问题详解
Apr 22 Python
浅谈Python中的bs4基础
Oct 21 Python
Python3爬虫教程之利用Python实现发送天气预报邮件
Dec 16 Python
Python根据服务获取端口号的方法
Sep 25 Python
python3 实现口罩抽签的功能
Mar 11 Python
Python flask框架实现浏览器点击自定义跳转页面
Jun 04 Python
详解基于python的图像Gabor变换及特征提取
Oct 26 Python
Python json解析库jsonpath原理及使用示例
Nov 25 Python
python 机器学习的标准化、归一化、正则化、离散化和白化
Apr 16 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
第八节 访问方式 [8]
2006/10/09 PHP
smarty实例教程
2006/11/19 PHP
php生成短网址示例
2014/05/05 PHP
php基于str_pad实现卡号不足位数自动补0的方法
2014/11/12 PHP
PHP设计模式之抽象工厂模式实例分析
2019/03/25 PHP
laravel-admin的多级联动方法
2019/09/30 PHP
LazyForm jQuery plugin 定制您的CheckBox Radio和Select
2009/10/24 Javascript
ECMAScript 创建自己的js类库
2012/11/22 Javascript
Window.Open如何在同一个标签页打开
2014/06/20 Javascript
js中的json对象详细介绍
2014/10/29 Javascript
JavaScript中的getTimezoneOffset()方法使用详解
2015/06/10 Javascript
在React框架中实现一些AngularJS中ng指令的例子
2016/03/06 Javascript
JavaScript基础重点(必看)
2016/07/09 Javascript
原生Javascript插件开发实践
2017/01/09 Javascript
微信小程序图片横向左右滑动案例
2017/05/19 Javascript
微信浏览器左上角返回按钮监听的实现
2020/03/04 Javascript
[03:21]辉夜杯主赛事 12月25日TOP5
2015/12/26 DOTA
Flask入门教程实例:搭建一个静态博客
2015/03/27 Python
python 实现对文件夹中的图像连续重命名方法
2018/10/25 Python
Python常见数字运算操作实例小结
2019/03/22 Python
详解python中的线程与线程池
2019/05/10 Python
Python3 JSON编码解码方法详解
2019/09/06 Python
Python对象的属性访问过程详解
2020/03/05 Python
Django REST 异常处理详解
2020/07/15 Python
解决H5的a标签的download属性下载service上的文件出现跨域问题
2019/07/16 HTML / CSS
Hush Puppies澳大利亚官网:舒适的男女休闲和正装鞋
2019/08/24 全球购物
幼儿如何来做好自我评价
2013/11/05 职场文书
秋季红领巾广播稿
2014/01/27 职场文书
党建示范点实施方案
2014/03/12 职场文书
新文化运动的口号
2014/06/21 职场文书
办护照工作证明
2014/10/01 职场文书
党员民主评议个人总结
2014/10/20 职场文书
个人催款函范文
2015/06/23 职场文书
如何用PHP实现多线程编程
2021/05/26 PHP
mysql自增长id用完了该怎么办
2022/02/12 MySQL
JS前端使用Canvas快速实现手势解锁特效
2022/09/23 Javascript