Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 21, 2017 14:13:38

akaipbay
Зарегистрирован: 2017-06-21
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Работа с CSV файлами

Доброго времени суток!

Такая проблема, как удалить/убрать пустые строки при сохранении 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()

Прикреплённый файлы:
attachment response.txt (370 байт)

Офлайн

#2 Июнь 21, 2017 14:19:08

krok64
Зарегистрирован: 2017-04-04
Сообщения: 75
Репутация: +  11  -
Профиль   Отправить e-mail  

Работа с CSV файлами

Проверяй что строка не пустая перед записью ее в файл.

Офлайн

#3 Июнь 21, 2017 17:24:33

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Работа с CSV файлами

krok64
не правильный ответ. Причем дважды.
akaipbay
ваща проблема в том, что где то появляются несколько символов переноса строк подряд. Одним из решением может быть что то типа

akaipbay
f.write('{}\n'.format(line.rstrip('\n')))



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#4 Июнь 21, 2017 23:58:15

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9716
Репутация: +  842  -
Профиль   Отправить e-mail  

Работа с CSV файлами

akaipbay
сам CSV приходит без пустых строк
Его и сохраняй, где-то меняешь неправильно. Не должно быть пустых строк в CSV-файле.



Офлайн

#5 Июнь 22, 2017 08:15:25

krok64
Зарегистрирован: 2017-04-04
Сообщения: 75
Репутация: +  11  -
Профиль   Отправить e-mail  

Работа с CSV файлами

JOHN_16
krok64
не правильный ответ. Причем дважды.
Почему только дважды а не трижды или четырежды?
JOHN_16
ваща проблема в том, что где то появляются несколько символов переноса строк подряд.
А разве iter_lines не разобьет несколько переносов подряд на несколько пустых строк подряд?


Офлайн

#6 Июнь 22, 2017 12:43:36

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Работа с CSV файлами

krok64
А разве iter_lines не разобьет несколько переносов подряд на несколько пустых строк подряд?
разобьет, потомоу что внутри используется обычный splitlines() и еще немного действий что бы chunks в lines превратить без искажений.
пустая строка, записанная в файл не приведет к записи новой строки, так .write() не добавляет символа переноса строки



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version