Python批量将TXT文件转为Excel格式

需求:

1.将多个txt文件转化为Excel表格的形式,便于查看数据

2.将文件中的特殊字符去掉,比如"= - . # *"

处理类似txt文件

Python批量将TXT文件转为Excel格式_第1张图片

 1.使用xlwt模块创建Excel表格

2.使用os模块读取txt文件路径并且遍历文件

# -*- encoding: utf-8 -*-

import xlwt
import os


def txt_xls(filepath, xlsname):
    f = open(filepath,'r',encoding='utf-8')  # 打开txt文本进行读取
    x = 0
    y = 0
    xls = xlwt.Workbook()
    sheet = xls.add_sheet('sheet1', cell_overwrite_ok=True)
    while True:  # 循环,读取文本里面的所有内容
        line = f.readline().split()  # 一行一行读取
        result = ','.join(line).strip('=,-,.,#,*').replace('|','')  # 去掉字符串中的特殊字符:= - . # * |
        if '3D,Attributes,in,range' in result: 
            result = result.replace(',',' ')    #处理指定字符串的逗号
        # print(result)
        if not line:  # 如果没有内容,则退出循环
            break
        for i in result.split(','):  # 读取出相应的内容写到sheet
            item = i.strip()
            # print(type(item))
            sheet.write(x, y, item)
            y += 1
        x += 1
        y = 0  # 初始成第一列
    f.close()
    xls.save(xlsname + '.xls')  # 保存


if __name__ == "__main__" :
    filepath='//Users/PycharmProjects/TXT_EXCEL/txt'
    path_name = []
    for file in os.listdir(filepath):    #遍历txt文件路径
        path_name.append(file.split('.')[0])

    for filename in path_name:
        filepath = f'//Users/PycharmProjects/TXT_EXCEL/txt/{filename}.txt'
        xlsname = f'//Users/PycharmProjects/TXT_EXCEL/excel/{filename}'

        txt_xls(filepath, xlsname)

转为excel的.xls格式,其它格式可能不支持

批量转完之后效果:

Python批量将TXT文件转为Excel格式_第2张图片

 

 

你可能感兴趣的:(python,python)