Я пытаюсь разобрать некоторые данные и форматировать с помощью nltk, но я не могу присвоить несколько возвратов нескольким переменным в течение итерации функции (см. Функцию def preprocess ниже.) Я попробовал переписать свой код, что обычно приводит к большой отладки, но, похоже, я ударяю головой о стену Python, которая намеренно существует.Назначение нескольких возвращаемых переменных, но по одному за раз?
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 ключей, но форматирование было раздражающим для тегов POS и т. Д. Для NLTK.
Проблема в этом. Всякий раз, когда я запускаю предварительный процесс, программа сохраняет только 1-й элемент в списке и забывает другой. Я пытаюсь заставить функцию назначить каждый возвращенный вывод списку переменных под названием Дни, но безрезультатно. Я также заметил, что AFTER Days = preprocess(), Days теряет все, кроме первого элемента (со вторника по воскресенье - пустой список из 1 строки). Однако Days [3] или Days [5] корректно печатает ожидаемые данные.
Я ожидаю, что там будет лучший метод представления. Нет сообщений, в которых упоминается об этом, и казалось, что это все равно.
Почему 'return day'? Он будет возвращен после обработки первого элемента, поскольку он находится в цикле for. –
Я вижу вашу мысль. Благодаря! – wip