Форум сайта python.su
Доброго времени суток!
Такая проблема, как удалить/убрать пустые строки при сохранении CSV файла? сам CSV приходит без пустых строк, но в цикле когда данные записываются в файл, проставляются пустые строки
Код приведен ниже
req_file = Request('GET', url_file, headers = headers ) prepped_file = s.prepare_request(req_file) resp_file = s.send(prepped_file, timeout = 50) f = open(file_name, 'w') print f.name # Writing to the file for line in resp_file.iter_lines(chunk_size=512, decode_unicode=None, delimiter=' '): f.write(line) f.close()
Прикреплённый файлы:
response.txt (370 байт)
Офлайн
Проверяй что строка не пустая перед записью ее в файл.
Офлайн
krok64
не правильный ответ. Причем дважды.
akaipbay
ваща проблема в том, что где то появляются несколько символов переноса строк подряд. Одним из решением может быть что то типа
akaipbay
f.write('{}\n'.format(line.rstrip('\n')))
Офлайн
akaipbayЕго и сохраняй, где-то меняешь неправильно. Не должно быть пустых строк в CSV-файле.
сам CSV приходит без пустых строк
Офлайн
JOHN_16Почему только дважды а не трижды или четырежды?
krok64
не правильный ответ. Причем дважды.
JOHN_16А разве iter_lines не разобьет несколько переносов подряд на несколько пустых строк подряд?
ваща проблема в том, что где то появляются несколько символов переноса строк подряд.
Офлайн
krok64разобьет, потомоу что внутри используется обычный splitlines() и еще немного действий что бы chunks в lines превратить без искажений.
А разве iter_lines не разобьет несколько переносов подряд на несколько пустых строк подряд?
Офлайн