使用pandasread_table和文件列表

对于Python来说,我一般都很陌生,但是我正在尝试制作一个脚本,它将文件夹中的某些文件的数据放入Excel电子表格中。

我所拥有的代码将在我指定的文件夹中find所需的文件types,然后用完整的文件path进行列表。

import os file_paths = [] for folder, subs, files in os.walk('C://Users/Dir'): for filename in files: if filename.endswith(".log") or filename.endswith(".txt"): file_paths.append(os.path.abspath(os.path.join(folder,filename))) 

它也将采取特定的文件path,从正确的列中提取数据,并将其放入正确单元格的excel中。

 import pandas as pd import numpy for i in range(len(file_paths)): fields = ['RDCR'] data = pd.read_table(file_paths[i], sep= "\s+", names = fields, usecols=[3], 

我遇到麻烦的是让read_table遍历我的文件列表并将数据放入Excel表格中,每次读取新文件时,它都会移动到电子表格中的一列上。

理想情况下,for循环会查看file_paths列表的长度,并将其用作范围。 然后它将使用file_paths [i]将文件名逐个input到read_table中。

会发生什么是它findfile_paths的长度,而不是逐个遍历文件,它只是input列表中最后一个文件的数据。

任何帮助将非常感激! 谢谢!

尝试一下连接所有的人,写一次excel。

 from glob import glob import pandas as pd files = glob('C://Users/Dir/*.log') + glob('C://Users/Dir/*.txt') def read_file(f): fields = ['RDCR'] return pd.read_table( f, sep="\s+", names=fields, usecols=[3]) df = pd.concat([read_file(f) for f in files], axis=1).to_excel('out.xlsx')