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 相关文章推荐
在Linux系统上部署Apache+Python+Django+MySQL环境
Dec 24 Python
Python缩进和冒号详解
Jun 01 Python
Django接受前端数据的几种方法总结
Nov 04 Python
python虚拟环境virtualenv的使用教程
Oct 20 Python
python如何统计序列中元素
Jul 31 Python
解决pycharm无法调用pip安装的包问题
May 18 Python
Django之使用内置函数和celery发邮件的方法示例
Sep 16 Python
python opencv将表格图片按照表格框线分割和识别
Oct 30 Python
python中查看.db文件中表格的名字及表格中的字段操作
Jul 07 Python
python读取excel数据绘制简单曲线图的完整步骤记录
Oct 30 Python
浅析Python实现DFA算法
Jun 26 Python
Python如何利用pandas读取csv数据并绘图
Jul 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 上传文件的方法(类)
2009/07/30 PHP
深入Apache与Nginx的优缺点比较详解
2013/06/17 PHP
详解PHP函数 strip_tags 处理字符串缺陷bug
2017/06/11 PHP
Laravel框架实现的记录SQL日志功能示例
2018/06/19 PHP
php的对象传值与引用传值代码实例讲解
2021/02/26 PHP
IE autocomplete internet explorer's autocomplete
2007/06/30 Javascript
javascript的函数作用域
2014/11/12 Javascript
javascript抽象工厂模式详细说明
2014/12/16 Javascript
简单对比分析JavaScript中的apply,call与this的使用
2015/12/04 Javascript
AngularJS+Bootstrap实现多文件上传与管理
2016/11/08 Javascript
使用canvas及js简单生成验证码方法
2017/04/02 Javascript
用JavaScript做简易的购物车的代码示例
2017/10/20 Javascript
Vue.js划分组件的方法
2017/10/29 Javascript
react MPA 多页配置详解
2019/10/18 Javascript
微信小程序点击顶部导航栏切换样式代码实例
2019/11/12 Javascript
Vue是怎么渲染template内的标签内容的
2020/06/05 Javascript
详解JavaScript 事件流
2020/09/02 Javascript
[00:32]2018DOTA2亚洲邀请赛出场——VP
2018/04/04 DOTA
[43:58]DOTA2-DPC中国联赛定级赛 LBZS vs SAG BO3第一场 1月8日
2021/03/11 DOTA
Python开发的单词频率统计工具wordsworth使用方法
2014/06/25 Python
Python赋值语句后逗号的作用分析
2015/06/08 Python
python getopt详解及简单实例
2016/12/30 Python
Python输出由1,2,3,4组成的互不相同且无重复的三位数
2018/02/01 Python
python逆序打印各位数字的方法
2018/06/25 Python
selenium+python自动化测试之多窗口切换
2019/01/23 Python
用Python徒手撸一个股票回测框架搭建【推荐】
2019/08/05 Python
Python基本语法之运算符功能与用法详解
2019/10/22 Python
python语言线程标准库threading.local解读总结
2019/11/10 Python
CSS3属性box-shadow使用详细教程
2012/01/21 HTML / CSS
FitFlop美国官网:英国符合人体工学的鞋类品牌
2018/10/05 全球购物
Roxy荷兰官方网站:冲浪、滑雪板、服装和配件
2019/10/22 全球购物
爱祖国演讲稿
2014/05/04 职场文书
教师党员岗位承诺书
2014/05/29 职场文书
2015年端午节活动总结
2015/02/11 职场文书
2019预备党员转正申请书模板2篇!
2019/08/07 职场文书
你真的了解PHP中的引用符号(&)吗
2021/05/12 PHP