Python csv.reader печатает последнюю строку во второй раз - PullRequest
0 голосов
/ 18 июня 2019

У меня есть текстовый файл с английскими предложениями, разделенный запятыми и состоящий из двух столбцов, и их перевода на другой язык с каждой парой перевода в новой строке, например.

i like cats,me gustan los gatos    
hello,hola

Я хотел открыть этот файл и просто получить вторую часть пары (перевод) и получить список этих переводов. Я использовал показанный код. Однако получается, что последний элемент всегда печатается снова в конце после списка, что мне не нужно.

with open('translate_outputs.txt', newline ='') as translations:
    translation_reader = csv.reader(translations, delimiter = ',')
    for translation in translation_reader:
        just_translation = translation[1].lower()
        translation_list = []
        translation_list.append(just_translation)
        print(translation_list)

Ожидаемый результат:

['me gustan los gatos']  
['hola']

Фактический результат:

['me gustan los gatos']  
['hola']  
hola

1 Ответ

1 голос
/ 18 июня 2019

Сокращенная версия кода, которая дает ожидаемый вывод.
(я удалил добавление к списку)

import csv

with open('translate_outputs.txt', newline='') as translations:
    translation_reader = csv.reader(translations, delimiter=',')
    for translation in translation_reader:
        print(translation[1].lower())

output

me gustan los gatos
hola
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...