Python добавляет пустые строки в открытом с помощью функции - PullRequest
2 голосов
/ 26 июня 2019

У меня несколько DFS выглядит так:

A    B    C    D
1    2    3    4
11   22   33   44
111  222  333  444

Я пытался записать их в CSV-файл.Я использую:

with open(matchedLine + 'OUT', 'a') as f:
        df.to_csv(f, header=False, index = False)

И в CSV я получил пустую строку после каждой строки.Я имею в виду:

1 2 3 4

11 22 33 44 

etc

Почему?Как удалить эти пустые строки?Что не так с моим кодом?

.

Ответы [ 2 ]

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

Соответствующие CSV-файлы имеют строки, оканчивающиеся на "\r\n", независимо от платформы, чтобы обеспечить легкий обмен. По этой причине в Python 3 библиотека csv записывает конец строк и ожидает, что файл будет открыт с newline=''.

Просто напишите:

with open(matchedLine + 'OUT', 'a', newline='') as f:
        df.to_csv(f, header=False, index = False)
1 голос
/ 26 июня 2019

просто добавьте параметр: newline = '' в вашей открытой функции.

Строка будет:

with open(matchedLine + 'OUT', 'a', newline=''):
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...