将指定目录中的txt文件转化成excel文件

时间:2021-12-16 16:50:23
#!/usr/bin/env python
#coding:utf-8
import re
import os
import glob
import xlwt
import sys
dir=r"F:\test_py\tt" ##目的文件夹
if os.path.exists(dir):
print ("The directory exits already")
else:
os.makedirs(dir)
l1= glob.glob(r"F:\test_py\tt\*.txt")
filenamelist=[]
for item in l1:
filenamelist.append(item.split('\\')[-1])
print (filenamelist)
excel=xlwt.Workbook()
for filename in filenamelist:
print (filename)
txt_file=open(filename,'r+',encoding='UTF-8')
sheetname=os.path.splitext(filename)[0] ##取sheet名字
sheet=excel.add_sheet(sheetname,cell_overwrite_ok=True)
items=txt_file.readlines()
rownum=items[0].split('\t')###文件已tab 分割,同时也可以指定其他分隔符,得到每行中的列数。
for i in range(0,len(rownum)):
column=[]
for item in items:
new=item.split('\t')[i]
column.append(new)
for j in range(0,len(column)):
sheet.write(j,i,column[j])
excel.save('all_in_one.xls')
将所有的txt文件转化到一个excel中。每个sheet的名字是原始的txt文件的名字写这个脚本的
初衷是工作中遇到的很多的都是将爬虫的结果保存在txt文件中,同时又是以tab分割的,每次给同事的时候,总觉得txt不方便,
后来就将爬虫的txt打包成一个excel文件,同时每个sheet的名字又是txt的文件名字,保存起来,顺手。
注:每个txt必须是每行每列的数目必须相同,txt的编码格式为utf-8,下篇文件会介绍如何保存txt为utf-8格式的。