Как убрать переносы строки из списка при обработке в python3?
У меня есть csv-файл, который содержит строки с 2 значениями в каждой строке. Я работа в Python 3.7. Мне нужно получить информацию из второго значения и записать в эту же строку ответ.
Я решил прочитать документ построчно, заключить значения в список и работать со значениями этого списка. Для этого я сделал следующее:
with open('datafile.csv', "r") as file:
for row in file:
red_row = row.split(',')
print(red_row)
Но в качестве ответа получил списки, у которых в последнем значении сохраняется перенос строки:
[193376,предположение\n]
Вопрос: как мне убрать перенос строки \n из второго значения и вставить в конец третьего? Можно ли это сделать стандартными библиотеками python3? Или может быть я выбрал не самый лучший путь для выполнения своей задачи и есть какой-то альтернативный путь, о котором я не знаю?
P.S. я только начинаю программировать и многие вещи еще не понимаю. Я был бы очень благодарен за подробное объяснение. Заранее спасибо.
Ответы (1 шт):
Используйте метод .strip() перед .split(','):
with open('datafile.csv') as file: # "r" не нужно (но может быть)
for row in file:
red_row = row.strip().split(',')
print(red_row)
Объяснение:
Метод .strip() убирает пустые символы (как например пробел, табулятор и '\n') из начала и конца строки.
Существуют тоже методы .lstrip() («left strip») и .rstrip() («right strip») для удаления только из начала или из конца строки; в вашем случае .rstrip() тоже подходящий.