#Date:2019-06-26
#Author:clfvita
# -*- encoding: utf-8 -*-
#若无此模块,先安装pip install xlwt(txt转表格)
import xlwt #需要的模块
import re
import os
#将文件批量导入xls、xlsx表格(txt、out、csv等文件都可转化)
def Txt_Xls(path,xlsname):
"""
:文本转换成xls的函数
:param path txt、out、csv等文件文本文件路径、
:param xlsname 表示转换后的excel文件名及路径
"""
try:
xls = xlwt.Workbook() #新建xls表格(会覆盖旧表格)
filelist = os.listdir(path) #该文件夹下的所有文件
for file in filelist: #遍历所有文件 包括文件夹
Olddir = os.path.join(path,file)#原来文件夹的路径
if os.path.isdir(Olddir):#如果是文件夹,则跳过
continue
filename = os.path.splitext(file)[0] #文件名(例如:文件为dsnMemInf.out,则输出的文件名为dsnMemInf;os.path.splitext(file)[1]输出.out)
f = open(Olddir)
#生成excel的方法,声明excel
sheet = xls.add_sheet(filename,cell_overwrite_ok=True)
x = 0
while True:
#按行循环,读取文本文件
line = f.readline()
isadd = 0
if not line:
break #如果没有内容,则退出循环
for i in range(len(line.split())): #每行以空格或tab为分割符
if re.match(r'\*\(', line.split()[0]):#正则匹配第一个字符是够有 *( ,有则记录到表格
item = line.split()[i]
sheet.write(x,i,item) #x为行,i为列
isadd += 1
if not isadd == 0:
x += 1 #excel另起一行
f.close()
xls.save(xlsname) #保存xls、xlsx文件
except:
raise
if __name__ == "__main__" :
path = input("请输入要转化文件的文件夹路径: ") #文件路径
xlsname = input("请输入Excel文件要保存的路径: ");
Txt_Xls(path,xlsname)