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 ...
随机推荐
- Spring+MyBatis实现数据库读写分离方案
推荐第四种:https://github.com/shawntime/shawn-rwdb 方案1 通过MyBatis配置文件创建读写分离两个DataSource,每个SqlSessionFactor ...
- window.open 子窗口关闭刷新父页面
function JsMod(htmlurl,tmpWidth,tmpHeight){ htmlurl=getRandomUrl(htmlurl); var winObj = window.open( ...
- 2018/11/5 每日分析-test
郑醇1901,M30向上一笔中,只是看起来不太值得做,主要因为现在30分钟向上一笔空间无法判定,未必能上去(M5中枢如果向上突破并且不背驰才可能有机会:如果直接下去或者向上后背驰,那么这里就只是一个M ...
- ubuntu下 net core 安装web模板
---恢复内容开始--- 今天想试试在Linux用C#开发WebAPI,查了下,要用: dotnet new -t Web 来建立工程,结果我试了下,出来这段: Invalid input switc ...
- 普通数组和json数组的区别
PHP 数组 什么是数组? 数组是特殊的变量,它可以同时保存一个以上的值. 在 PHP 中创建数组 在 PHP 中, array() 函数用于创建数组 在 PHP 中,有三种数组类型: 索引数组 - ...
- tips:Java中的switch的选择因子
tips:Java中的switch的选择因子! /* switch(){ } */ switch的()中的判断条件能是什么类型呢? 事实上,在我们学习c++的了解中,switch的参数是一个能 ...
- tips:Java中while的判断条件
tips:Java中while的判断条件! 在c++中,有时候会遇到这种情况: while(x = y){ dosomething; } 如果x与y相等,这个时候如果循环体中没有跳出的点,那么会无限循 ...
- 17 RAID与mdadm管理命令
在"14 磁盘及文件系统管理详解"中,我们详细介绍了磁盘的工作原理,但是,有一点我们一定要明白,作为现在存储数据的主要设备,机械磁盘早就是上个世纪的产品,而它的读写速度与内存.CP ...
- Java - 34 Java 文档注释
Java 文档注释 Java只是三种注释方式.前两种分别是// 和/* */,第三种被称作说明注释,它以/** 开始,以 */结束. 说明注释允许你在程序中嵌入关于程序的信息.你可以使用javadoc ...
- CS229 6.11 Neurons Networks implements of self-taught learning
在machine learning领域,更多的数据往往强于更优秀的算法,然而现实中的情况是一般人无法获取大量的已标注数据,这时候可以通过无监督方法获取大量的未标注数据,自学习( self-taught ...