【python txt2xls】个人开发的python文本转表格工具txt2xls

简介


开发了一个将指定格式的文本转换成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)


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值