python遍历目录将txt文档转换为Excel表格

最近因工作原因需要批量转换txt文档,手工一个个修改太耗时,于是写了个脚本,需要用的自己拿。

脚本流程基本分为3个部分。

1,遍历目录

2,找到目录下的txt文档

3,转换文档并在txt文档存储目录下生成转换后的Excel表。

转换txt文档时需要修改文档内使用得分隔符。

 cons = line.split('\t')#使用分隔符判断,如果使用其他分隔符需要修改。

使用的时候只需要吧dir变量目录换成需要转换的目录就可以了,脚本会遍历目录下的所有文件。

dir = r'C:\Users\admin\Desktop' # 目录地址

完整脚本如下:

#!/bin/env python
# -*- encoding: utf-8 -*-
#-------------------------------------------------------------------------------
# Purpose:     txt转换成Excel
# Author:      soso
# Created:     2022-10-31
# update:      ****-**-**
#description:遍历目录下txt文档,并使用分隔符将文本转换为Excel文件。
#-------------------------------------------------------------------------------
import xlwt
import os
# 定义遍历目录函数
def list_all_files(rootdir):
    
    _files = []
	# 列出文件夹下所有的目录与文件
    list = os.listdir(rootdir)
    for i in range(0, len(list)):
		# 构造路径
        path = os.path.join(rootdir, list[i])
		# 判断路径是否为文件目录或者文件
		# 如果是目录则继续递归
        if os.path.isdir(path):
            _files.extend(list_all_files(path))
        if os.path.isfile(path):
            _files.append(path)
    return _files
    
dir = r'C:\Users\admin\Desktop' # 目录地址
files =list_all_files(dir)
#开始转换
for file in files:
    
    (name,ext) =os.path.splitext(file)
    if ext =='.txt':
        print ("开始转换"+file)
        txtname = file
        excelname = name+'.xlsx'
        fopen = open(txtname, 'r',encoding='utf-8')
        lines = fopen.readlines()
        filexls = xlwt.Workbook(encoding='utf-8', style_compression=0)
        # 新建一个sheet
        sheet = filexls.add_sheet('data')

        i = 0
        for line in lines: 
            line = line.strip('\n')
            cons = line.split('\t')#使用分隔符判断,如果使用其他分隔符需要修改。
            j=0
            for con in cons:
                sheet.write(i, j, con)
                j=j+1
            i = i + 1
        filexls.save(excelname)
        print("转换完成,目标路径:"+excelname)

脚本比较简单,读取txt文件是一次读取完成的,如果是大文件可以自己修改逐行读取。

你可能感兴趣的:(python,开发语言,excel)