工作中,我们需要经常吧一些导出的数据文件,例如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. Lens —— 最炫酷的 Kubernetes 桌面客户端

    原文链接:https://fuckcloudnative.io/posts/lens/ Kubernetes 的桌面客户端有那么几个,曾经 Kubernetic 应该是最好用的,但最近有个叫 Lens ...

  2. ECSHOP后台左侧添加菜单栏

    比如我们在后台中增加 “活动管理”功能,方法如下 在ECSHOP 管理中心共用语言文件 language\zh_cn\admin\commn.php ,添加我们的自定义菜单: $_LANG['17_a ...

  3. 发布Nuget包时遇到都意外

    准备好工具和发布教程.(这些网上都有,我就不说了,就说说我遇到都意外.) 在发布包都过程中,我给我都dll命名为Common.不知道是不是这个原因导致的我包发布上去后,程序对其引用时居然没主动引用进程 ...

  4. SqlServer2016 startengine错误的解决方式整理

    因为某些需要,最近在安装SqlServer2016,但总是安装失败,按照网上各路大佬的解决方案都没有成功.报错提示为两个:无法获取数据库引擎句柄,无法恢复数据库引擎服务.按照网上做法,使用admini ...

  5. vue 生命周期钩子 路由钩子 动画钩子 执行顺序

    进入首页的钩子们 1 路由钩子 路由跳转前beforeEach 2 路由钩子 home组件内部:守卫执行前beforeRouteEnter 3.路由钩子 路由跳转后afterEach 4 生命周期 h ...

  6. js语法基础入门(7)

    7.数组 7.1.什么是数组以及相关概念? 什么是数组?是一组数据有序排列的集合.将一组数据按一定顺序组织为一个组合,并对这个组合命名,这样便构成了数组. 什么是数组元素?组成数组的每一个数据称为数组 ...

  7. jQurey zTree Demo 3.5

    https://jeesite.gitee.io/front/jquery-ztree/3.5/demo/cn/index.html

  8. 「MoreThanJava」Day2:变量、数据类型和运算符

    「MoreThanJava」 宣扬的是 「学习,不止 CODE」,本系列 Java 基础教程是自己在结合各方面的知识之后,对 Java 基础的一个总回顾,旨在 「帮助新朋友快速高质量的学习」. 当然 ...

  9. 01 . SaltStack部署配置及简单应用

    SaltStack简介 SaltStack saltstack是一个新的基础平台管理工具,只需要花费数分钟即可运行起来,可以支撑管理上万台服务器的规模,数秒钟即可完成数据传递. saltstack是使 ...

  10. VUE常用UI组件插件及框架

    UI组件及框架 element - 饿了么出品的Vue2的web UI工具套件 mint-ui - Vue 2的移动UI元素 iview - 基于 Vuejs 的开源 UI 组件库 Keen-UI - ...