nltkを使っていくつかのデータとフォーマットを解析しようとしていますが、関数の反復で複数の変数に複数の戻り値を割り当てることはできません(下記のdef preprocess関数を参照してください)。大きなデバッグですが、意図的にそこにあるPythonの壁に頭を打っているようです。一度に1つずつ、複数の戻り変数を割り当てる?
def get_7text():
with open('parsed_text/Larrys Pizza & Sports Parlor_text.csv','r') as file:
reader = csv.reader(file)
dict = [row for row in reader]
file.close()
my_dict = [l[0] for l in dict]
text= my_dict[0]
new_dict=ast.literal_eval(text)
for k,v in new_dict.items():
exec(k + '=v')
return Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday
def preprocess():
for day in Days:
day = str(day)
day = sent_tokenize(day)
day = [word_tokenize(s.lower()) for s in day]
day = [pos_tag(s) for s in day]
return day
#code here
Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday = get_7text()
Days=[Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday]
Days=preprocess()
Get7text()は、正常に割り当てることができる7つの文字列を返します。私は最初に7つのキーの辞書を返すようにしていましたが、NLTKのPOSタギングなどのためにフォーマットするのは面倒でした。
これは問題です。前処理を実行するたびに、プログラムは最初の項目をリストに残し、残りの項目は忘れてしまいます。6.返された各出力をDaysという変数のリストに割り当てるように強制しようとしていますが、無駄です。私はまた、AFTER Days = preprocess()、Daysが最初の要素を除くすべてを失うことに気付きました(火曜日から日曜日は1文字列の空のリストです)。しかし、Days [3]またはDays [5]は、予想されるデータを正しく出力します。
私は、より良い表現方法があると予想しています。とにかくそれを言及するオンラインの投稿はなく、とにかくやり方はスケッチのように思えた。
なぜ「返却日」ですか?それは最初の要素がforループに入っているので、最初の要素を処理した後に戻ります。 –
私はあなたの意見を見ます。ありがとう! – wip