Я сейчас работаю над первым Python проектом и застрял на этом шаге. У меня есть список слов (переменная = список слов) и файлы / документы, хранящиеся в пути. Результат должен теперь показать матрицу со столбцами = названием статьи и строками = словами. Если слово появляется в тексте, я хочу получить «1», а если не «0».
Вот мой код:
filelists = os.listdir("Path")
df = pd.DataFrame(columns=[filelists],index=[wordlist])
for docPath in filelists:
doc = io.open("Path" + '\\' + docPath, 'r', encoding = 'utf-8')
file_content = doc.read()
for word in wordlist:
if word in file_content:
df = df.append({'filelists': 1}, ignore_index=True)
else:
df = df.append({'filelists': 0}, ignore_index=True)
doc.close()
print(df)
Когда я запускаю код, я получаю TypeError: Ожидаемый кортеж, получен str .
Если я затем поместите значения 1 и 0 в tuple (), чтобы устранить эту ошибку.
if word in file_content:
df = df.append({'filelists': tuple(1)}, ignore_index=True)
else:
df = df.append({'filelists': tuple(0)}, ignore_index=True)
Однако теперь я получаю следующую ошибку.
TypeError: объект int не повторяется
Может ли кто-нибудь здесь помочь мне? Как вы видите, я новичок в кодировании, поэтому, пожалуйста, извините, если я сделал что-то совершенно не так в коде.