【python txt2xls】个人开发的python文本转表格工具txt2xls
2015-09-18 15:03
711 查看
简介
开发了一个将指定格式的文本转换成xls表格的程序,需要安装xlwt。说明
支持多个sheet。使用方法
python txt2xls.py student.txt student.xls
txt样例
tablename 计科0801班 start title 姓名 年龄 性别 notitle 张三 22 男 notitle 韩梅梅 21 女 end br tablename 计科0802班 start title 姓名 年龄 性别 notitle 李四 22 男 notitle Lily 21 女 end br tablename 计科0803班 start title 姓名 年龄 性别 notitle Jim 22 男 notitle Lucy 21 女 end
txt格式说明
每行以\t分割。第一列表示标志符,标志该行的意义。
各个标志符具体含义如下:
br 表示提示程序换行
tablename 表示表格名称,可用于生成sheet
start 表示表格开始
title 表示表格的标题栏
notitle 表示表格的非标题栏
end 表示表格结束
转换效果
转换代码
#!/usr/bin/env python #coding:utf8 import sys import xlwt if len(sys.argv) != 3: print "usage:" print "\tpython %s ORI_FILEPATH RESULT_FILEPATH" % sys.argv[0] exit(-1) ori_file = sys.argv[1] result_file = sys.argv[2] wbk = xlwt.Workbook(encoding = "utf8") sheet_list = [] sheet_index = -1 cur_row = 0 for line in open(ori_file): splits = line.strip().split("\t") if len(splits) == 0: continue mark = splits[0] if mark == "start": continue elif mark == "end": continue elif mark == "br": cur_row += 1 elif mark == "tablename": sheet_list.append( wbk.add_sheet(splits[1]) ) sheet_index += 1 cur_row = 0 elif mark == "title" or mark == "notitle": for col in range(len(splits[1:])): sheet_list[sheet_index].write(cur_row, col, splits[1:][col]) cur_row += 1 else: continue wbk.save(result_file)
相关文章推荐
- python 偏函数解析
- python实现: protobuf解释器
- Python字符编码学习理解
- crontab 执行python脚本不成功解决办法
- python中元类的介绍
- python 点滴
- python2.7+django1.8+mysql的模版显示数据的例子
- python pip国内镜像
- python中inspect使用
- python filter()、map()、reduce()函数解析
- 主要是要实现tornado实现计划任务类crontab间隔
- Python3.5 右键没有Edit with IDLE选项
- ubuntu12.04 set python-pandas
- Python opencv2 人脸识别
- 30个Python实用技巧
- [LeetCode]题解(python):014-Longest Common Prefix
- [LeetCode]题解(python):013-Roman to Integer
- Python的包管理工具Pip
- Flask 中的路由与反向路由
- python Exception