【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
    评论
Python的xlrd库可以用来读取和处理Excel文件。当我们需要比较两个表格中的指标时,可以使用xlrd来实现。 首先,我们需要导入xlrd库,并用open_workbook函数打开两个Excel文件: import xlrd # 打开第一个Excel文件 file1 = xlrd.open_workbook('file1.xls') # 打开第二个Excel文件 file2 = xlrd.open_workbook('file2.xls') 接下来,我们需要获取两个表格的指标数据。xlrd库提供了sheet_by_index和sheet_by_name函数来选择需要操作的sheet: # 获取第一个文件中的第一个sheet sheet1 = file1.sheet_by_index(0) # 获取第二个文件中的第一个sheet sheet2 = file2.sheet_by_index(0) 然后,我们可以使用xlrd库提供的相关函数来读取指标数据,例如cell_value函数可以获取指定单元格的值: # 获取第一个文件中第一个sheet中指定单元格的值 value1 = sheet1.cell_value(0, 0) # 获取第二个文件中第一个sheet中指定单元格的值 value2 = sheet2.cell_value(0, 0) 接下来,我们可以根据需要进行比较。比如比较两个表格中的某个指标是否相等: if value1 == value2: print("两个表格中的指标相等") else: print("两个表格中的指标不相等") 如果需要比较多个指标,可以使用循环来逐一比较。比如: for i in range(sheet1.nrows): for j in range(sheet1.ncols): value1 = sheet1.cell_value(i, j) value2 = sheet2.cell_value(i, j) if value1 == value2: print("第%d行第%d列的指标相等" % (i+1, j+1)) else: print("第%d行第%d列的指标不相等" % (i+1, j+1)) 最后,记得在程序结束时关闭Excel文件: file1.close() file2.close() 以上就是使用Python的xlrd库来比较两个表格中的指标的方法。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值