長い話を簡単にするために、ユーザーに.docxファイルをドロップするように求めるPythonスクリプトを作成しています。このファイルは.txtに変換されます。 Pythonは.txtファイル内のキーワードを探し、それらをシェルに表示します。私はUnicodeDecodeErrorコーデックのcharmapなどを実行していました。私はforループ内に "word.decode(" charmap ")を書くことでそれを克服しました。現在、Pythonはシェルにあるキーワードを表示していません。 ??Python Unicodeの.txtファイルの問題
import sys
import os
import codecs
filename = input("Drag and drop resume here: ")
keywords =['NGA', 'DoD', 'Running', 'Programing', 'Enterprise', 'impossible', 'meets']
file_words = []
with open(filename, "rb") as file:
for line in file:
for word in line.split():
word.decode("charmap")
file_words.append(word)
comparison = []
for words in file_words:
if words in keywords:
comparison.append(words)
def remove_duplicates(comparison):
output = []
seen = set()
for words in comparison:
if words not in seen:
output.append(words)
seen.add(words)
return output
comparison = remove_duplicates(comparison)
print ("Keywords found:",comparison)
key_count = 0
word_count = 0
for element in comparison:
word_count += 1
for element in keywords:
key_count += 1
Threshold = word_count/key_count
if Threshold <= 0.7:
print ("The candidate is not qualified for")
else:
print ("The candidate is qualified for")
file.close()
そして出力:
Drag and drop resume here: C:\Users\User\Desktop\Resume_Newton Love_151111.txt
Keywords found: []
The candidate is not qualified for
を追加し、これを試してみてください: 'word.decode' – vrs
おかげで、まだキーワードの下に何も出力はしません( 'UTF-8'、エラーが= '無視します')。私はこのファイルを読んできましたが、私のプログラムで認識されるはずのキーワードがあります。それは私がスキャンしたファイルの他のカップルのために働く。たぶん、それらの非デコード可能な文字が読み込みプロセスを中断するでしょうか? –
'' charmap "'を 'decode'に渡すのはなぜですか?問題を再現するテキストの小さなサンプルを提供できますか?ここ –