Skip to main content
 首页 » 编程设计

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

2025年05月04日23soundcode

文件夹和子文件夹中的文本文件结构如下。

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

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) 

file

请您参考如下方法:

假设这些目录包含 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) 

一旦所有文件都被迭代,df 应该是包含不同 txt 文件中所有信息的 DataFrame。