文件夹和子文件夹中的文本文件结构如下。
我想全部阅读并创建一个 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)
请您参考如下方法:
假设这些目录包含 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。
