Hai, jadi saya baru mengenal Python dan saya ingin membuat skrip yang mengambil nama file dari daftar dokumen docx di direktori besar jika file berisi kata tertentu di dalam dokumen Word.

Ini kode saya di bawah ini sejauh ini

import os
import docx2txt
os.chdir('C:/Users/epicr/Desktop/Python Stuff/LAB FILES')
text= ''
files = []
for file in os.listdir('C:/Users/epicr/Desktop/Python Stuff/LAB FILES'):
    if file.endswith('.docx'):
        files.append(file)
for i in range(len(files)):
        text += docx2txt.process(files[i])
if text == str('VENTILATION RATIO'):
    print (i)

Proses pemikiran saya adalah mengonversi semua dokumen docx ini ke file txt kemudian mencari file untuk kata yang mengandung 'VENTILATION RATIO'. Jika kata tersebut ada di dalam file, maka nama file yang berisi file tersebut akan dicetak.

Namun output tidak mencetak apa pun. Saya tahu pasti bahwa setidaknya di salah satu Dokumen Word, ada kata: 'VENTILATION RATIO' (dan ya, ini peka huruf besar/kecil) di dalamnya

0
m_so99 31 Oktober 2020, 05:24

1 menjawab

Jawaban Terbaik

Mungkin ada masalah logika dalam kode Anda.

Coba pembaruan ini:

import os
import docx2txt
os.chdir('C:/Users/epicr/Desktop/Python Stuff/LAB FILES')
text= ''
files = []
for file in os.listdir('C:/Users/epicr/Desktop/Python Stuff/LAB FILES'):
    if file.endswith('.docx'):
        files.append(file)
for i in range(len(files)):
    text = docx2txt.process(files[i])  # text for single file
    if 'VENTILATION RATIO' in text:
         print (i, files[i])  # file index and name
0
Mike67 31 Oktober 2020, 03:23