Python 处理批量处理txt并保存成excel

Python 处理批量处理txt并保存成excel

  • Python 处理批量处理txt并保存成excel
    • 数据文件
  • 提取文件夹中的文件名称
  • 读取txt成dataFrame
  • 提取提取txt中数组数据
  • 保存成excel文件,不覆盖原始文件
    • 其他注意事项

Python 处理批量处理txt并保存成excel

在一个文件夹中包含很多个txt文件,需要逐个读取txt并处理数据保存成excel

数据文件

Python 处理批量处理txt并保存成excel_第1张图片

提取文件夹中的文件名称

#读取文件夹下所有文件名字
# -*- coding: utf-8 -*-
import os
def file_name(file_dir):
  for root, dirs, files in os.walk(file_dir):
    # print(root) #当前目录路径
    # print(dirs) #当前路径下所有子目录
    # print(files) #当前路径下所有非目录子文件
    return files

读取txt成dataFrame

#读取txt成dataFrame
def readTxt(path):
    Linelist = []
    with open(path, "r", encoding='utf-8') as f:
        for line in f.readlines():
            line = line.strip('\n')  #去掉列表中每一个元素的换行符
            # list1 = list(line)
            list1 = str.split(line)
            Linelist.append(list1)
            # print(list1)
    return Linelist

提取提取txt中数组数据

import pandas as pd
import numpy as np

def listToAimList(dataList,columnsName):
    #记录想要的数据
    BandC2 = []
    for i in range(len(dataList)):
        if i>7:
            BandC = []
            dataList2 = list(dataList[i])
            for j in range(7,len(columnsName)+7):
                BandC.append(dataList2[j])
            BandC2.append(BandC)
    print(BandC2)
    return BandC2

保存成excel文件,不覆盖原始文件

一定要记得writer.save()

#保存数据
writer = pd.ExcelWriter(dataPathOut)
for i in range(len(columnsName)):
    dfBand2 = pd.DataFrame(BandData[i],columns=tableName)
    dfBand2.to_excel(writer, sheet_name=columnsName[i])
writer.save()

其他注意事项

需求分析要详细,注意观察数据结构特点

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