【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)


xls二维结构数据表txt数据文本等4小工具集包括xls二维结构数据表txt数据文本、csv数据文本、mysql语句及数据预览小工具xls二维结构数据表txt数据文本等4小工具集 v1.2更新日志 改进读取方式,解决读取部分文件卡死问题。 纠正四种功能中的两种方式重复读取第一列问题。 xls二维结构数据表txt数据文本等4小工具集功能 原理:读取.xls文件并显示为制表符分隔.txt格式文本,支持多表。 另1:dohtml.asp可预览xls效果。你可右键查看源文件将.xls格式html代码。 另2:dosqls.asp可读取.xls得到mysql导入数据库语句。 另3:docsvs.asp可读取.xls得到.csv格式文本内容。 技巧要点 1. .xls文件格式为win97-2003工作表(.xls) 2. 一般用于二维结构表的化(首行各列的列标题)。 3. 该功能可以在普通windows电脑 netbox软件本地使用。 使用步骤 将本源码放到asp网站空间,并通过域名 文件夹名称访问 访问格式:http://域名/文件夹名称/ 1. 另存为.xls格式的二维结果表为win97-2003工作表(.xls) 2. 放到shujukufangzheli文件夹下。 3. 刷新访问该功能页面,选择新的文件对应的下拉后提交 4. 得到文本内容,稍加处理后得到查询系统可用数据 其他用途(.csv) 将得到的文本内容英文逗号替换为中文逗号 再将文本内容中的制表符替换为逗号即可 用于本人开发的php csv系列通用查询系统。 其他用途(.xls) 将得到的文本内容复制回excel。 如果有异常,请将空白表全选后设置单元格格式为文本再粘贴复制过来的内容。 可用于本人开发的php xls/asp xls系列通用查询系统。 其他用途(.html) 访问dohtml.asp对应网址可以将.xls格式为html(你可右键查看源文件)。 其他用途(mysqls) 以及方便数据的导入,比如csv导入access等。 xls二维结构数据表txt数据文本等4小工具集截图 相关阅读 同类推荐:站长常用源码
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、付费专栏及课程。

余额充值