从子文件夹和文件夹中读取文本文件,并在 pandas 中为每个文件文本创建一个数据框作为一个观察

Aym*_*win 1 python pandas

我的文件夹和子文件夹中的文本文件具有以下体系结构。

我想阅读它们并创建一个 df. 我正在使用这段代码,但它对我来说效果不佳,因为文本不是我检查的内容,并且文件不等于我的计数。

文件夹 - 级别 1 第一个文件夹中的文件等

l = [pd.read_csv(filename,header=None, encoding='iso-8859-1') for filename in glob.glob("2018_01_01/*.txt")]
main_df = pd.concat(l, axis=1)
main_df = main_df.T
for i in range(2):
    l = [pd.read_csv(filename, header=None, encoding='iso-8859-1',quoting=csv.QUOTE_NONE) for filename in glob.glob(str(foldernames[i+1])+ '/' + '*.txt')]
    df = pd.concat(l, axis=1)
    df = df.T
    main_df = pd.merge(main_df, df)
Run Code Online (Sandbox Code Playgroud)

文件

lmi*_*asf 5

假设这些目录包含 txt 文件,其中的信息都具有相同的结构:

import os
import pandas as pd

df = pd.DataFrame(columns=['observation'])

path = '/path/to/directory/of/directories/'

for directory in os.listdir(path):
    if os.path.isdir(directory):
        for filename in os.listdir(directory):
            with open(os.path.join(directory, filename)) as f:
                observation = f.read()
                current_df = pd.DataFrame({'observation': [observation]})
                df = df.append(current_df, ignore_index=True)
Run Code Online (Sandbox Code Playgroud)

迭代所有文件后,df应该DataFrame包含不同 txt 文件中的所有信息。