2017-04-16 44 views
0

我有一个文件夹,其中包含具有不同格式数据的多个txt文件,这些文件稍后将进行合并。目前我需要以同样的方式将它们格式化。Python:如何迭代一组数据帧中的特定数据帧

path =r'C:\\Users\\data' 
filenames = glob.glob(path + "/*.txt") 

dfs = [] 
for filename in filenames: 
    dfs.append(pd.read_csv(filename, infer_datetime_format=True, sep=None, 
engine='python', header=None)) 

然后,我有列表中的几个dataframes一个特定的格式:

#Format 1 

dfs[3][[0,1]]= dfs[3][1].str.split(expand=True) 
dfs[4][[0,1]]= dfs[4][1].str.split(expand=True) 
dfs[3].columns=['Date','Time','Wind Vel 1','Wind Vel 2','Dir1','Dir2','NaN'] 
dfs[3] = dfs[3].drop('NaN',1) 
dfs[4].columns=['Date','Time','Wind Vel 1','Wind Vel 2','Dir1','Dir2','NaN'] 
dfs[4] = dfs[4].drop('NaN',1) 

如何做到这一点的DFS [3]和DFS [4]在一个循环?

回答

0

轻松:

for i in (3,4): 
    dfs[i][[0,1]]= dfs[i][1].str.split(expand=True) 
    dfs[i].columns=['Date','Time','Wind Vel 1','Wind Vel 2','Dir1','Dir2','NaN'] 
    dfs[i] = dfs[i].drop('NaN',1) 
+0

谢谢!正在尝试类似的版本,但我想我的格式不是很正确。还有另一种方法可能比循环更快吗? –