Найти - Пользователи
Полная версия: Работа с CSV файлами
Начало » Python для новичков » Работа с CSV файлами
1
akaipbay
Доброго времени суток!

Такая проблема, как удалить/убрать пустые строки при сохранении 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()
krok64
Проверяй что строка не пустая перед записью ее в файл.
JOHN_16
krok64
не правильный ответ. Причем дважды.
akaipbay
ваща проблема в том, что где то появляются несколько символов переноса строк подряд. Одним из решением может быть что то типа
akaipbay
f.write('{}\n'.format(line.rstrip('\n')))
py.user.next
akaipbay
сам CSV приходит без пустых строк
Его и сохраняй, где-то меняешь неправильно. Не должно быть пустых строк в CSV-файле.
krok64
JOHN_16
krok64
не правильный ответ. Причем дважды.
Почему только дважды а не трижды или четырежды?
JOHN_16
ваща проблема в том, что где то появляются несколько символов переноса строк подряд.
А разве iter_lines не разобьет несколько переносов подряд на несколько пустых строк подряд?


JOHN_16
krok64
А разве iter_lines не разобьет несколько переносов подряд на несколько пустых строк подряд?
разобьет, потомоу что внутри используется обычный splitlines() и еще немного действий что бы chunks в lines превратить без искажений.
пустая строка, записанная в файл не приведет к записи новой строки, так .write() не добавляет символа переноса строки
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB