工作中,我们需要经常吧一些导出的数据文件,例如sql查出来的结果装换成excel,用文件发送。这次为大家带上python装换excel的脚本

记得先安装wlwt模块,适用版本,python2-3

#coding=utf-8
#!/usr/bin/python
#AUTHOR=ELSON import xlwt,io,os,sys """
运行指令
python name.py 表头文件 分隔符 导入的文件名(可多个)
fx: python srcipt_excel.py head.txt # aa.txt bb.txt cc.txt cat head.txt (格式='表名,字段1:列宽,字段2:列宽')
第一行:xls保存名字.xls
第二行:sheet1,姓名:20,年龄:10,成绩:10
第三行:sheet2,姓名:20,年龄:10,成绩:10
""" #表头文件
head = sys.argv[1]
#separator分隔符
separator = sys.argv[2]
#文件名
source_path = sys.argv[3:]
##文件输出路径
execl_path = './' #条件判断
head_len=len(open(head,'r').readlines()) -1
txt_len=len(source_path)
if head_len != txt_len:
print('ERROR 表头文件行数 % 不等于 需要转换excel的文件数 %s ,程序退出!' %(head_len,txt_len))
exit() xls=xlwt.Workbook(encoding='utf-8')
def setsttle(color=1,blod=False,): #1=白 #5=黄
style = xlwt.XFStyle() # 创建一个样式对象,初始化样式
#边框
borders = xlwt.Borders()
borders.left = 1
borders.left = xlwt.Borders.THIN
borders.right = 1
borders.top = 1
borders.bottom = 1
# 定义格式
style.borders = borders
# 设置背景颜色
pattern = xlwt.Pattern()
# ���置背景颜色的模式
pattern.pattern = xlwt.Pattern.SOLID_PATTERN
# 背景颜色
pattern.pattern_fore_colour = color
style.pattern = pattern
#队列格式
al = xlwt.Alignment()
al.horz = 0x02 # 设置水平居中
al.vert = 0x01 # 设置垂直居中
style.alignment = al
#字体
font = xlwt.Font()
# 字体类型:比如宋体、仿宋也可以是汉仪瘦金书繁
#font.name = "仿宋"
font.bold = blod
style.font = font
return style #写入excel
def write_excel(head,separator,txt_name):
"""
:param head: 头部文件
:param separator: 分隔符
:param txt_name: 装换成excel的txt文件[列表]
:return:
"""
default = setsttle(5,True)
default2 = setsttle()
# 表头
sheet_num = 0
with open(head, 'r') as f:
global xls_name
xls_name = f.readline().strip()
while True:
x = 1
ii = 0
line = f.readline().strip().replace(' ','').split(',')
if not line[0]:
break
sheet = xls.add_sheet(line[0])
for head in line[1:]:
heads=head.split(':')
sheet.write(0,ii,heads[0],default)
sheet.col(ii).width = 265 * int(heads[1])
ii += 1
# 表体
txt_file = io.open(txt_name[sheet_num], mode='r', encoding='UTF-8')
while True:
line = txt_file.readline()
if not line:
break
for i in range(len(line.split(separator))):
item = line.split(separator)[i]
sheet.write(x, i, item, default2)
x += 1
txt_file.close()
sheet_num += 1
xls.save(os.path.join(execl_path, xls_name)) #主体写入
if __name__ == '__main__':
write_excel(head,separator,source_path)
#保存excel
print('success')

  

python txt装换成excel的更多相关文章

  1. Web Api 将DataTable装换成Excel,并通过文件流将其下载

    不废话,直接上代码 前端代码 <input type="button" class="layui-btn" value="Test-GetFil ...

  2. python中将xmind转成excel

    需求:最近公司项目使用tapd进行管理,现在遇到的一个难题就是,使用固定的模板编写测试用例,使用excel导入tapd进行测试用例管理,觉得太过麻烦,本人一直喜欢使用导图来写测试用例,故产生了这个工具 ...

  3. 将txt文件转换成EXCEL文件的方法

    地址:http://wenku.baidu.com/view/fcdbe8cca1c7aa00b52acbad.html 1.在EXCEL程序中点击“打开”,将文件类型选择为“文本文件”,找到以前用过 ...

  4. python txt文件数据转excel

    txt content: perf.txt 2018-11-12 16:48:58 time: 16:48:58 load average: 0.62, 0.54, 0.56 mosquitto CP ...

  5. Silverlight日记:字符串装换成Path对象

    一,需要动态绑定Path <UserControl x:Class="Secom.Emx2.SL.Common.Controls.EleSafe.Ele.Line" xmln ...

  6. Java,double类型转换成String,String装换成double型

    今天,老师布置了小系统,银行用户管理系统,突然发现自己的基础知识好薄弱,就把这些记录一下, double类型转化string:Double.toString(double doub); String类 ...

  7. 将n行3列的数据dataTable装换成m行7列的dataTable

    //思路:新建dataTable,定义需要的列, 先将数据源进行分组,第一重遍历获取所有组,第二重遍历获取某一个组的具体数据public void DataBind() { DateTime time ...

  8. HashMap的key装换成List

    Map<String,Object> map = new HashMap<String,Object>(); map.put("a","32332 ...

  9. mvc 解决StyleBundle中 图片绝对路径 装换成相对路径的问题 CssRewriteUrlTransform

    问题 解决办法

随机推荐

  1. 计算机网络之HTTPS协议

    • HTTPS协议是以安全为目的的HTTP通道,比单纯的HTTP协议更安全,相当于HTTP的升级版.• HTTPS的安全基础为SSL,就是在HTTP下加入SSL层,意思是HTTPS通过安全传输机制进行 ...

  2. 入门大数据---基于Zookeeper搭建Kafka高可用集群

    一.Zookeeper集群搭建 为保证集群高可用,Zookeeper 集群的节点数最好是奇数,最少有三个节点,所以这里搭建一个三个节点的集群. 1.1 下载 & 解压 下载对应版本 Zooke ...

  3. Centos7 GRE Tunnel

    一.关闭防火墙及selinux 二.CentOS7默认不加载gre内核模块,加载gre内核模块 # modprobe ip_gre   临时加载gre模块(重启后失效) # lsmod |grep g ...

  4. openstack Rocky 社区版部署1.2 安装ntp service

    一.controller节点安装ntp 1 安装ntp服务 yum install chrony 2 Edit the chrony.conf file and add, change, or rem ...

  5. 全国计算机等级考试二级笔试样卷Java语言程序设计

    一.选择题((1)-(35)每小题2分,共70分) 下列各题A).B).C).D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分. (1)下列选项中不符合良好程 ...

  6. linux下安装jdk并设置环境变量

      首先去官网下载jdk安装包 我这里下载的是jdk7,因为jdk8之后做了很大的改动,所以现在常用的还是jdk7.下载地址:www.oracle.com/technetwork/cn/java/ja ...

  7. Oracle expdp导出分区表,query条件带有rownum

    Oracle expdp导出分区表,query条件带有rownum 前言 在做数据脱敏的时候,对一张刚好是分区表的表做导出,为了只取出部分数据看是否数据可以正常脱敏,在query中带上rownum. ...

  8. CF3D Least Cost Bracket Sequence 贪心

    Least Cost Bracket Sequence CodeForces - 3D 题目描述 This is yet another problem on regular bracket sequ ...

  9. web 部署专题(八):Nginx 反向代理中cookie相关问题

    问题3:认证问题 Domino服务器中,通过写了一些接口代码,提供RESTful的服务,来对手机端进行提供服务.但是由于原来的环境,没有SSO,而且不通过认证,没法访问到Domino里面的接口代码. ...

  10. 08-Python面对对象进阶

    一.面向对象编程三大特征 Python是面向对象的语言,同样支持面向对象的编程的三大特征:继承,封装,多态. 封装是指隐藏对象的属性和实现细节,只对外提供必要的一些方法,私有属性,私有方法是实现封装地 ...