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中分别打印列表中的每一个元素方法
Nov 07 Python
python3.6实现学生信息管理系统
Feb 21 Python
Python嵌套式数据结构实例浅析
Mar 05 Python
Python3.5内置模块之shelve模块、xml模块、configparser模块、hashlib、hmac模块用法分析
Apr 27 Python
Django 配置多站点多域名的实现步骤
May 17 Python
如何使用python操作vmware
Jul 27 Python
Jupyter notebook设置背景主题,字体大小及自动补全代码的操作
Apr 13 Python
python中如何写类
Jun 29 Python
利用scikitlearn画ROC曲线实例
Jul 02 Python
如何使用python写截屏小工具
Sep 29 Python
Python下载的11种姿势(小结)
Nov 18 Python
Python3.9.1中使用split()的处理方法(推荐)
Feb 07 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查询域名状态whois的类
2006/11/25 PHP
ThinkPHP中数据操作案例分析
2015/09/27 PHP
Laravel等框架模型关联的可用性浅析
2019/12/15 PHP
YII2框架中添加自定义模块的方法实例分析
2020/03/18 PHP
Javascript实现的分页函数
2006/12/22 Javascript
非常不错的功能强大代码简单的管理菜单美化版
2008/07/09 Javascript
JavaScript基础知识之数据类型
2012/08/06 Javascript
jquery实现excel导出的方法
2013/04/04 Javascript
jquery统计输入文字的个数并对其进行判断
2014/01/07 Javascript
Jquery设置attr的disabled属性控制某行显示或者隐藏
2014/09/25 Javascript
JS JQUERY实现滚动条自动滚到底的方法
2015/01/09 Javascript
深入浅析JavaScript中的3DES
2016/08/24 Javascript
JavaScript类的写法
2016/09/17 Javascript
JavaScript之Vue.js【入门基础】
2016/12/06 Javascript
D3.js中强制异步文件读取同步的几种方法
2017/02/06 Javascript
angularjs使用directive实现分页组件的示例
2017/02/07 Javascript
JS中解决谷歌浏览器记住密码输入框颜色改变功能
2017/02/13 Javascript
JavaScript栈和队列相关操作与实现方法详解
2018/12/07 Javascript
微信小程序实现页面浮动导航
2019/01/28 Javascript
Node.js爬虫如何获取天气和每日问候详解
2019/08/26 Javascript
在vue-cli创建的项目中使用sass操作
2020/08/10 Javascript
Python3基础之list列表实例解析
2014/08/13 Python
Python求解平方根的方法
2015/03/11 Python
Python 爬虫学习笔记之单线程爬虫
2016/09/21 Python
python3爬虫之设计签名小程序
2018/06/19 Python
python绘制直线的方法
2018/06/30 Python
使用coverage统计python web项目代码覆盖率的方法详解
2019/08/05 Python
python 实现生成均匀分布的点
2019/12/05 Python
使用CSS3的ruby-position固定注音位置的用法示例
2016/07/05 HTML / CSS
使用索引有什么好处
2016/07/27 面试题
致跳远运动员广播稿
2014/02/11 职场文书
2014年双拥工作总结
2014/11/21 职场文书
预备党员自我评价范文
2015/03/04 职场文书
XX部保密工作制度范本
2019/08/27 职场文书
作文之亲情600字
2019/09/23 职场文书
python实现图片批量压缩
2021/04/24 Python