Python 处理批量处理txt并保存成excel
Python 处理批量处理txt并保存成excel
在一个文件夹中包含很多个txt文件,需要逐个读取txt并处理数据保存成excel
数据文件
提取文件夹中的文件名称
#读取文件夹下所有文件名字
# -*- 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()
其他注意事项
需求分析要详细,注意观察数据结构特点