博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
将txt文本转换为excel格式
阅读量:4935 次
发布时间:2019-06-11

本文共 3125 字,大约阅读时间需要 10 分钟。

将txt文本转换为excel格式,中间使用的列分割为 tab 键

一、使用xlwt模块

注:Excel 2003 一个工作表行数限制65536,列数限制256

需要模块:xlwt

模块安装:xlwt

[root@baolin shell]#sudo pip install xlwt

脚本内容

脚本内容:

[root@baolin shell]# cat t2e.py #!/bin/env python# -*- encoding: utf-8 -*-#-------------------------------------------------------------------------------# Purpose:     txt转换成Excel# Created:     2017-11-03#-------------------------------------------------------------------------------import osimport sysimport xlwt #需要的模块def txt2xls(filename,xlsname):  #文本转换成xls的函数,filename 表示一个要被转换的txt文本,xlsname 表示转换后的文件名    print 'converting xls ... '    f = open(filename)   #打开txt文本进行读取    x = 0                #在excel开始写的位置(y)    y = 0                #在excel开始写的位置(x)    xls=xlwt.Workbook()    sheet = xls.add_sheet('sheet1',cell_overwrite_ok=True) #生成excel的方法,声明excel    while True:  #循环,读取文本里面的所有内容        line = f.readline() #一行一行读取        if not line:  #如果没有内容,则退出循环            break        for i in line.split('\t'):#读取出相应的内容写到x            item=i.strip().decode('utf8')            sheet.write(x,y,item)            y += 1 #另起一列        x += 1 #另起一行        y = 0  #初始成第一列    f.close()    xls.save(xlsname+'.xls') #保存if __name__ == "__main__":    filename = sys.argv[1]    xlsname  = sys.argv[2]    txt2xls(filename,xlsname)

运行方式:

# 后缀xls会自动添加[root@baolin shell]#python t2e.py txt文本 xls名称

二、使用xlsxwriter模块

注:当行数大于65535时,就需要使用Excel 2007 一个工作表行数限制1048576,列数限制16384

需要模块:xlsxwriter

模块安装:xlsxwriter

[root@baolin shell]#sudo pip install xlsxwriter

脚本内容

脚本内容:

#!/bin/env python# -*- encoding: utf-8 -*-import osimport sysimport xlsxwriter  # 当文档内容大于 65535 时使用 xlsxwriter 模块def txt2xls(filename,xlsname):  #文本转换成xls的函数,filename 表示一个要被转换的txt文本,xlsname 表示转换后的文件名    print('converting xls ... ')    f = open(filename)   #打开txt文本进行读取    x = 0                #在excel开始写的位置(y)    y = 0                #在excel开始写的位置(x)    xls=xlsxwriter.Workbook(xlsname+'.xlsx')                 # 创建xlsx文件    sheet = xls.add_worksheet()     # 创建一个新的表单,默认名称为 “sheet1”,输入字符参数可指定名称    while True:  #循环,读取文本里面的所有内容        line = f.readline() #一行一行读取        if not line:  #如果没有内容,则退出循环            break        for i in line.split('\t'):#读取出相应的内容写到x            item=i.strip().decode('utf8')            sheet.write(x,y,item)            y += 1 #另起一列        x += 1 #另起一行        y = 0  #初始成第一列    f.close()    xls.close()if __name__ == "__main__":    filename = sys.argv[1]    xlsname  = sys.argv[2]    txt2xls(filename,xlsname)

运行方式:

# 后缀xls会自动添加[root@baolin shell]#python t2e.py txt文本 xls名称

将一个目录下的所有文件都转换为excel文件

[root@baolin shell]#cat batch_to_exl.sh #!/bin/bashpth="/usr/local/data_dir/data_txt/"           # 将/usr/local/data_dir/data_txt/ 目录下的所有的文件循环mkdir /usr/local/data_dir/data_xls/ -pfor n in `ls $pth`do  # 执行脚本拼接的路径 执行脚本,将结果放在 其他目录(需要创建)  python /home/baolin/shell/t2e.py ${pth}${n} /usr/local/data_dir/data_xls/${n}done

内容参考:

http://www.cnblogs.com/zhoujinyi/archive/2013/05/07/3064785.htmlhttp://blog.csdn.net/gumengkai/article/details/52800257https://zhidao.baidu.com/question/565518792570332764.htmlhttps://www.cnblogs.com/ontheway703/p/5264517.html

转载于:https://www.cnblogs.com/baolin2200/p/7793742.html

你可能感兴趣的文章
JavaScript易错知识点整理
查看>>
Biological Clocks
查看>>
2018-10-11
查看>>
国内NLP的那些人那些会
查看>>
SQL 将一个表中的所有记录插入到一个临时表中
查看>>
nmea协议
查看>>
js 中对象的特性
查看>>
hdoj3714【三分】
查看>>
嵌入式开发入门(4)—驱动入门之时序图分析【20121211修改,未完】
查看>>
Python 使用字符串
查看>>
Quartz Core之CALayer
查看>>
java:一个项目的开发过程(转)
查看>>
express框架学习笔记
查看>>
记录一个css的综合运用
查看>>
操作系统下载路径
查看>>
网站开发 关于图片压缩 以及图片使用
查看>>
hive的count(distinct id)测试--慎用
查看>>
第九周周总结
查看>>
Logistic Regression
查看>>
8lession-基础类型转化
查看>>