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
问题 解决办法
随机推荐
- 阿里巴巴--mysql中Mysql模糊查询like效率,以及更高效的写法
在使用msyql进行模糊查询的时候,很自然的会用到like语句,通常情况下,在数据量小的时候,不容易看出查询的效率,但在数据量达到百万级,千万级的时候,查询的效率就很容易显现出来.这个时候查询的效率就 ...
- trollcave解题
这是第一次完整地进行模拟渗透,前前后后一共花了一天时间,花了点时间写了个writeup. 博主是个菜鸡,如果有大神看到,请轻喷...... writeup下载:https://hrbeueducn-m ...
- BOM问题-对于php的影响
甲.BOM说明 BOM(Byte Order Mark),是UTF编码方案里用于标识编码的标准标记.这个标记是可选的,UTF-8不需要BOM来表明字节顺序,但可以用BOM来表明当前编码方式.但如果文件 ...
- 多图解释Redis的整数集合intset升级过程
redis源码分析系列文章 [Redis源码系列]在Liunx安装和常见API 为什么要从Redis源码分析 String底层实现——动态字符串SDS 双向链表都不懂,还说懂Redis? 面试官:说说 ...
- Python实用笔记 (26)面向对象高级编程——定制类
Python的class允许定义许多定制方法,可以让我们非常方便地生成特定的类.以下是集中常见的定制方法: 怎么才能打印得好看呢?只需要定义好__str__()方法,返回一个好看的字符串就可以了: _ ...
- Python实用笔记 (23)面向对象高级编程——使用__slots__
正常情况下,当我们定义了一个class,创建了一个class的实例后,我们可以给该实例绑定任何属性和方法,这就是动态语言的灵活性.先定义class: class Student(object): pa ...
- win7旗舰版安装 oracle 10g 不能进入图形界面的问题
前阵子重装了系统,把dell机器自带的win7 64位(家庭版已升级旗舰版,装ORACLE正常)换回了32位系统,前两天因为一些软件开发的问题,需要把以前做的一个系统重新架起来,数据库用的是oracl ...
- ASP.NET MVC 四种Controller向View传值方法
控制器: // Get: Data public ActionResult Index() { //ViewData 方式 ViewData["UserName"] = " ...
- redis-cli
redis-cli --stat //监控key的数量,内存占用 redis-cli --scan //列出所有的key redis-cli --bigkeys //列出占用内存较大的key redi ...
- 进阿里真的这么难?P8大佬告诉你,你和阿里之间缺的只是这份笔记
一转眼今年已经到六月份了,在这个过去的半年里有人选择了安稳,有的人偏偏不... 最近小编就有个朋友,去面了个[P8 级架构师],也算是摸摸行情,为后面的一些安排提前做好规划~ 先给大家介绍一下我这个朋 ...