Python使用xlwt模块 操作Excel文件
导出Excel文件
1. 使用xlwt模块 import xlwt
import xlwt # 导入xlwt
# 新建一个excel文件
file = xlwt.Workbook() #注意这里的Workbook首字母是大写,无语吧
# 新建一个sheet
table = file.add_sheet('sheet name')
# 写入数据table.write(行,列,value)
table.write(0,0,'test')
# 如果对一个单元格重复操作,会引发
returns error: # Exception: Attempt to overwrite cell: # sheetname=u'sheet 1' rowx=0 colx=0# 所以在打开时加cell_overwrite_ok=True 解决
table = file.add_sheet('sheet name',cell_overwrite_ok=True )
file.save('demo.xls') # 保存文件
另外,使用style
style = xlwt.XFStyle() # 初始化样式
font = xlwt.Font() #为样式创建字体
font.name = 'Times New Roman'
font.bold = True
style.font = font #为样式设置字体
table.write(0, 0, 'some bold Times text', style) # 使用样式
xlwt 允许单元格或者整行地设置格式。还可以添加链接以及公式。可以阅读源代码,那里有例子:
dates.py, 展示如何设置不同的数据格式
hyperlinks.py, 展示如何创建超链接 (hint: you need to use a formula)
merged.py, 展示如何合并格子
row_styles.py, 展示如何应用Style到整行格子中.
例子一:
import xlwt
wbk = xlwt.Workbook()
sheet = wbk.add_sheet('sheet 1')
# indexing is zero based, row then column
sheet.write(0,1,'test text')
sheet.write(1,1,'test text')
wbk.save('test2.xls') 默认保存在桌面上
例子二:
import StringIO
import xlwt as ExcelWrite # 引入模块 def _make_excel(self, data_array):
if not data_array:
return ''
# data_array = sorted(data_array, key=lambda x:x['CreateTime']) # 按照数据的时间进行排序 # style_del = ExcelWrite.XFStyle()
# style_del.alignment.wrap = 1 header = [u'下单日期',u'出发时间',u'出发时段',u'上车地点',u'下车地点',u'乘客名',u'司机信息',u'口岸',u'车队',u'是否8座',u'支付渠道',u'支付金额',u'车队报价',u'备注',u'备注2', u'订单来源']
xls = ExcelWrite.Workbook(style_compression=2)
sheet = xls.add_sheet("Sheet1")
sheet.col(3).width = (30*367) # 设置表格的宽度
sheet.col(4).width = (30*367)
sheet.col(5).width = (20*367)
sheet.col(6).width = (20*367)
sheet.col(11).width = (20*367)
sheet.col(13).width = (20*367)
i = 0
# 写表头
for each_header in header:
sheet.write(0, i, each_header)
i += 1
row = 1
# 填充每行的数据
for each_row in data_array:
col = 0
# 填充一行的每列数据
for each_col in header:
if each_col in (u'下单日期', u'出发时间'):
# self 对象表示类本身
style = self._make_date_style() # 获取样式
else:
style = self._make_normal_style() if each_row['Status'] == 2:
badBG = ExcelWrite.Pattern() # 设置背景
badBG.pattern = badBG.SOLID_PATTERN
# 灰色
badBG.pattern_fore_colour = 23
style.pattern = badBG
# 删除线
style.font.struck_out = True
sheet.write(row, col, each_row[each_col], style)
col += 1
row += 1
sf = StringIO.StringIO() # StringIO 此模块可以学习下
xls.save(sf)
contents = sf.getvalue()
sf.close()
return contents def _make_normal_style(self):
style_normal = ExcelWrite.XFStyle() # 设置excel的样式
style_normal.alignment.wrap = 1
return style_normal def _make_date_style(self):
style_date = ExcelWrite.XFStyle()
style_date.alignment.wrap = 1
style_date.num_format_str = u'mm月dd日'
return style_date # self 对象是继承了tornado.web.RequestHandler的派生类
def _send_download(self, file_name, data):
self.set_header('Content-Type', 'application/octet-stream')
self.set_header('Content-Disposition', 'attachment; filename=' + file_name)
self.write(data) # 将数据写回到网页客户端
self.finish() # 调用生成excel数据
excel_data = self._make_excel(data)
if excel_data:
self._send_download('1.xls', excel_data)
else:
pass
Python使用xlwt模块 操作Excel文件的更多相关文章
- 用Python的pandas框架操作Excel文件中的数据教程
用Python的pandas框架操作Excel文件中的数据教程 本文的目的,是向您展示如何使用pandas 来执行一些常见的Excel任务.有些例子比较琐碎,但我觉得展示这些简单的东西与那些你可以在其 ...
- python使用xlrd模块读写Excel文件的方法
本文实例讲述了python使用xlrd模块读写Excel文件的方法.分享给大家供大家参考.具体如下: 一.安装xlrd模块 到python官网下载http://pypi.python.org/pypi ...
- python xlwt模块生成excel文件并写入数据 xlrd读取数据
python中一般使用 xlwt (excel write)来生成Excel文件(可以控制单元格格式),用 xlrd 来读取Excel文件,用xlrd读取excel是不能对其进行操作的. 1.xlrd ...
- 记录python接口自动化测试--把操作excel文件的方法封装起来(第五目)
前面补充了如何来操作excel文件,这次把如何获取excel文件的sheet对象.行数.单元格数据的方法进行封装,方便后面调用 handle_excel.py# coding:utf-8 import ...
- Python自动化办公之操作Excel文件
模块导入 import openpyxl 读取Excel文件 打开Excel文件 workbook = openpyxl.load_workbook("test.xlsx") 输出 ...
- Python使用openpyxl模块操作Excel表格
''' Excel文件三个对象 workbook: 工作簿,一个excel文件包含多个sheet. sheet:工作表,一个workbook有多个,表名识别,如"sheet1",& ...
- xlwt 模块 操作excel
1.xlwt 基本用法 import xlwt #1 新建文件 new_file = open('test.xls', 'w') new_file.close() #2 创建工作簿 wookbook ...
- Python小实验——读&写Excel文件内容
安装xlrd模块和xlwt模块 读取Excel文件了内容需要额外的模块-- \(xlrd\),在官网上可以找到下载:https://pypi.python.org/pypi/xlrd#download ...
- python第三方库——xlrd和xlwt操作Excel文件学习
python第三方库——xlrd和xlwt操作Excel文件学习 1安装: C:\Users\Lenovo>pip install xlwtCollecting xlwt Downloadin ...
随机推荐
- CRM 2016 IFrame_A嵌入 EXT.net 页面 a.aspx,刷新另一IFrame_B嵌入 b.aspx gird.
说白了就是一个IFrame页面,执行另一IFrame页面的函数. a.aspx JS: parent.Xrm.Page.getControl("IFRAME_B").getObj ...
- 阿里云ECS搭建FTP服务器
一.开始前先开通21端口权限; 二.添加IIS角色; 三.添加ftp用户; 四.步骤如下: 五.用添加在用户登录ftp;
- C#截取字符串按字节截取SubString
public static string CutByteString(string str,int len) { string result=string.Empty;// 最终返 ...
- 17 RAID与mdadm管理命令
在"14 磁盘及文件系统管理详解"中,我们详细介绍了磁盘的工作原理,但是,有一点我们一定要明白,作为现在存储数据的主要设备,机械磁盘早就是上个世纪的产品,而它的读写速度与内存.CP ...
- php引用变量
引用变量:在php中引用意味着用不同的名字访问同一个变量内容 定义方式:& 总结:$b=&$a其中$b是取到了$a的地址,随着$a的地址变化,不会重新开辟空间可以根据他们的内存占用情况 ...
- 【死磕 Spring】—— IoC 之加载 BeanDefinition
本文主要基于 Spring 5.0.6.RELEASE 摘要: 原创出处 http://cmsblogs.com/?p=2658 「小明哥」,谢谢! 作为「小明哥」的忠实读者,「老艿艿」略作修改,记录 ...
- C# WPF 文件复制,相对路径
/// <summary> /// 下载/复制 /// </summary> /// <param name="sender"></par ...
- Linux下安装PHP+Nginx+Msql
安装Nginx: 1.先指定个文件存放位置 usr/local/src 2. 下载nginx, wget http://nginx.org/download/nginx-1.12.0.tar.gz ...
- Java base64 图片编码转换
package com.test; import org.junit.Test; import sun.misc.BASE64Decoder; import sun.misc.BASE64Encode ...
- range和xrange
在python2.7中range()某个区间后,内存会立即创建区间内的所有数值,严重浪费内存,所以就出现了xrange():每次循环的时候生成一个数值 在python3版本中不存在xrange,只有r ...