我的目录中只有几个子目录。每个子目录都有.txt文件。我尝试用两列创建DataFrame:
ui-button
txt文件中[text]行数据中的以及[sentiment]行中的
:将来用于分类的子文件夹名称。例如:
text and sentiment
我尝试通过这种方式做到这一点:
text | sentiment
data from 1.txt . folder name 1
data from 2.txt . folder name 1
data from 1.txt . folder name 2
data from 2.txt . folder name 2
def load(class_name):
df = pd.DataFrame()
texts = lambda file_name: preprocess(open('./train/{}/*.txt'.format(class_name, file_name)).read())
df['text'] = texts
df['sentiment'] = class_name
return df
df_folder name 1 = load('folder name 1')
df_folder name 2 = load('folder name 2')
不幸的是,它不起作用。我需要帮助。
答案 0 :(得分:0)
您可以循环浏览子目录及其中的文件,将数据保存到列表中,然后使其成为DataFrame。
data = list()
for folder in os.listdir('./cwd'):
for file in os.listdir(os.path.join('./cwd', folder)):
with open(os.path.join('./cwd', folder, file)) as text:
words = text.read()
data.append([words, folder])
df = pd.DataFrame(data, columns = ['text', 'sentiment'])
第一个for循环将遍历您的所有文件夹(您必须将“ ./cwd”更改为文件夹所在的位置)。第二个将遍历该文件夹中的所有文件。 with语句将打开和关闭文件,保存文本,然后附加文本和文件夹名称。