Я хочу создать очень простой набор слов на основе нескольких файлов Excel (300).
DummyDoc1 = "Это тестовая документация.
DummyDoc2 = "Это тоже тестовая документация, вторая"
...
Я могу импортировать все файлы, а также могу сделать простой подсчет слов (dict) для каждого файла. Чего я не понимаю, так это того, как объединить эти два элемента в матрицу, которая выглядит примерно так.
Код импорта файлов:
def get_files(dir):
files = [f.path for f in os.scandir(dir)]
return files
files = get_files_ext(DIR_IN, "xlsx")
for file in files:
file = fm.get_filename(file)
df_all = pd.read_excel(os.path.join(DIR_IN, file))
Количество слов в коде:
text = open(r"..\PycharmProjects\DrillPinsBagOfWords\files_in\test.csv", "r", errors = "ignore")
d = dict()
for line in text:
line = line.strip()
line = line.lower()
words = line.split(" ")
for word in words:
if word in d:
d[word] = d[word] + 1
else:
d[word] = 1
gesorteerd = sorted(d.items(), key=lambda x: x[1], reverse=True)
for x in gesorteerd:
print(x)
Может кто-нибудь дать мне какое-то направление, пожалуйста?
================================================== ==============
Вот код, который у меня есть до сих пор. Я все еще борюсь с тотальным диктом.
import filemanager as fm
import pandas as pd
directory = r"C:\Users\files_in_test"
total_dict = dict()
files = fm.get_files_ext(directory, "csv")
count = 0
list_dict = []
for filename in files:
d = dict()
with open(filename, "r", errors = "ignore") as text:
count += 1
for line in text:
line = line.strip()
line = line.lower()
words = line.split(" ")
for word in words:
if word in d:
d[word] = d[word] + 1
else:
d[word] = 1
print("Print dict", count, d)
# maak lijst van dict's
list_dict.append(d.copy())
# print lijst van dict's
print("Print list_dict: ", list_dict)
df = pd.DataFrame(list_dict)
print(df)
result = df.transpose()
print(result)
wordcount
для подсчета слов в каждом файлеИспользуйте этот источник для экспорта в формат Excel
import os
total = dict()
directory = "YOUR DIRECTORY HERE"
for filename in os.listdir(directory):
d = dict()
with open(filename, "r") as text:
for line in text:
line = line.strip()
line = line.lower()
words = line.split(" ")
for word in words:
if word in d:
d[word] = d[word] + 1
else:
d[word] = 1
total[filename] = d
gesorteerd = sorted(d.items(), key=lambda x: x[1], reverse=True)
for x in gesorteerd:
print(x)
Спасибо за ответ: теперь у меня есть полный набор слов для всех файлов. Как сделать матричное представление, каждый словарь (для каждого файла) и общий словарь вместе?