我有一个目录".../data“,其中有多个子目录,它们的名称是序列号加上一些无用的信息-例如"17448_2017_Jul_2017_Oct",其中第一个数字是序列号。在每个子目录中,我有四个".txt“文件,它们的行/行包含日期和时间信息,以及特定类型的属性,例如湿度,在每个子目录中都以相同的方式命名-例如"2019-01-29 03:11:26 54.7”。每个.txt文件顶部的前八行也应该删除。
我正在尝试编写的代码:为每个序列号生成一个数据帧,子目录名称中的子目录序列号在名为'Machine‘的列中,日期/时间作为数据帧索引,每种类型的属性作为一列,如atr1、atr2、atr3和atr4。
我的第一次试验是这样的:
path = "/home/marlon/Shift One/Projeto Philips/Consolidação de Arquivos/dados"
for i in os.listdir(path):
if os.path.isfile(os.path.join(path,i)) and '17884' in i:
with open(path + i, 'r') as f:
但是,如你所见,我完全迷失了.:/
非常感谢你的帮助!
发布于 2019-05-24 08:14:26
IIUC,你可以尝试这样的东西(注意这是测试和反馈的开始,因为我现在不能在我的手机上测试它):
import os
import pandas as pd
path = "/home/marlon/Shift One/Projeto Philips/Consolidação de Arquivos/dados/"
df = pd.DataFrame()
for fld in os.listdir(path):
subfld = path + fld
if os.path.isdir(subfld):
aux = pd.DataFrame()
sn = fld.split('_')[0]
for file in os.listdir(subfld):
filepath = os.path.join(subfld, file)
if os.path.isfile(filepath):
new_col = pd.read_fwf(filepath, colspecs=[(0, 19), (20, -1)], skiprows=8, header=None, parse_dates=[0], index_col=0)
aux = pd.concat([aux, new_col], axis=1)
aux['Machine'] = sn
df = df.append(aux)
但是,我想知道您每个文件夹的4个度量文件是否都具有相同的索引时间值,否则会出现连接它们的问题。
https://stackoverflow.com/questions/56279890
复制相似问题