python txt装换成excel
工作中,我们需要经常吧一些导出的数据文件,例如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的更多相关文章
- Web Api 将DataTable装换成Excel,并通过文件流将其下载
不废话,直接上代码 前端代码 <input type="button" class="layui-btn" value="Test-GetFil ...
- python中将xmind转成excel
需求:最近公司项目使用tapd进行管理,现在遇到的一个难题就是,使用固定的模板编写测试用例,使用excel导入tapd进行测试用例管理,觉得太过麻烦,本人一直喜欢使用导图来写测试用例,故产生了这个工具 ...
- 将txt文件转换成EXCEL文件的方法
地址:http://wenku.baidu.com/view/fcdbe8cca1c7aa00b52acbad.html 1.在EXCEL程序中点击“打开”,将文件类型选择为“文本文件”,找到以前用过 ...
- 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 ...
- Silverlight日记:字符串装换成Path对象
一,需要动态绑定Path <UserControl x:Class="Secom.Emx2.SL.Common.Controls.EleSafe.Ele.Line" xmln ...
- Java,double类型转换成String,String装换成double型
今天,老师布置了小系统,银行用户管理系统,突然发现自己的基础知识好薄弱,就把这些记录一下, double类型转化string:Double.toString(double doub); String类 ...
- 将n行3列的数据dataTable装换成m行7列的dataTable
//思路:新建dataTable,定义需要的列, 先将数据源进行分组,第一重遍历获取所有组,第二重遍历获取某一个组的具体数据public void DataBind() { DateTime time ...
- HashMap的key装换成List
Map<String,Object> map = new HashMap<String,Object>(); map.put("a","32332 ...
- mvc 解决StyleBundle中 图片绝对路径 装换成相对路径的问题 CssRewriteUrlTransform
问题 解决办法
随机推荐
- Shell 脚本学习(1)
一 Shell概览 1. 自动化批量系统初始化程序(update, 软件安装,时区设置,安全策略,...) 2. 自动化批量软件部署程序(LAMP,LNMP,Tomcat,LVS,Nginx) 3. ...
- 一不小心,我就上传了 279674 字的 MySQL 学习资料到 github 上了
自从2019年11月我们出版了<千金良方--MySQL 性能优化金字塔法则>一书之后,持续不断有人来询问我MySQL 4 个系统字典库相关的问题,因为篇幅原因,书中并没有完整收录4个字典库 ...
- web 基础(一) HTML
web 基础(一) HTML 与 XHTML 一.HTML介绍 HTML( Hyper Text Markup Language)指的是超文本标记语言,是用来描述网页的一种语言.它包括一系列标签.通过 ...
- 计算机网络之DDOS
1.什么是DDOS DDOS(Distributed Denial of Service),中文意思为“分布式拒绝服务”,就是利用大量合法的分布式服务器对目标发送请求,从而导致正常合法用户无法获得服务 ...
- 学写PEP,参与Python语言的设计
如果你为Python写了一篇PEP,这篇PEP成功的被Python指导委员会接受了,那么以后你在吹牛皮的时候你就可以说我主导了Python语言某个特性的设计工作. -- 跬蟒 我就问你主导Python ...
- Python进阶之浅谈内置方法(补充)
目录 列表类型的内置方法 元组类型的内置方法 字典类型的内置方法 集合类型的内置方法 列表类型的内置方法 1.作用:描述名字,说的话等 2.定义方式 s=['tim','age'] s=str('ti ...
- 重学 Java 设计模式:实战状态模式「模拟系统营销活动,状态流程审核发布上线场景」
作者:小傅哥 博客:https://bugstack.cn - 原创系列专题文章 沉淀.分享.成长,让自己和他人都能有所收获! @ 目录 一.前言 二.开发环境 三.状态模式介绍 四.案例场景模拟 1 ...
- 基础-Junit单元测试_反射_注解
一.Junit单元测试 1.1 测试分类: 黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值. 白盒测试:需要写代码的.关注程序具体的执行流程. 1.2 Junit使用(白盒测试) 使用步 ...
- python3.8-运行jupyter 报raise NotImplementedError
最近安装了python3.8 并安装jupyter,运行时却提示NotImplementedError,很崩溃 经过多次查证 貌似是3.8版本的bug...(这么牛逼的问题,被我遇到了.),不过网络上 ...
- 缘起:BigTable
Google的三篇论文,Google File System,MapReduce以及Big Table可以说是整个大数据领域的三驾马车,这里,我们简单介绍下这三驾马车基本都是干哈的,重点解读下Bigt ...