Как создать файл .csv без разрывов строк? - PullRequest
0 голосов
/ 18 сентября 2018

У меня есть файл .csv, который можно прекрасно прочитать в панде DataFrame, он имеет один столбец, назовем его Column1 с 5 различными значениями (0,1,2,3,4), и я пытаюсь создать четыре новых файла CSV, по одному для каждой из моих категорий.

Для этого я использую pd.to_csv с параметрами по умолчанию. Однако моя проблема заключается в том, что второй столбец моего информационного кадра образован строками (которые заключены в кавычки), которые могут иметь точки разрыва внутри них, поэтому, когда я создаю новый файл, данные Column2 будут перемещены в Column1. Вот так:

Column1           Column2
   0              'this is correct'
   1              'this
is not correct'

Есть ли у вас какие-либо подсказки, как я могу создать новый фрейм данных без этого эффекта? Я не могу поместить исходный файл, из которого я читаю свой набор данных, из-за его большой плотности, но при необходимости я могу попытаться создать пример.

Я пробовал аргумент line_separator = \n в pandas.to_csv(), но он дает ошибку, поскольку каждая строка файла, который я читаю, должна быть одной строкой в ​​моем новом файле.

Ответы [ 2 ]

0 голосов
/ 18 сентября 2018

У вас есть несколько решений для вашей проблемы.

1- Вы хотите удалить все \ n из столбца, а затем использовать

d.Column2 = d.Column2.apply(lambda x : x.replace('\n', ''))

Затем вы печатаете в файле.

2- Вы хотите сохранить \ n, ну это информация.Вы можете добавить кавычки.

pd.to_csv(..., quotechars='"') #but this is by default right ?

Вы получите:

"Column1" "Column2"

"0" "'это правильно'"

"1" "'this

не правильно'"

Здесь все правильно, так как любой хороший инструмент будет использовать кавычки, чтобы узнать, что последняя строка является частьюСтолбец2.

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

0 голосов
/ 18 сентября 2018

Чтобы избежать этой проблемы, вы можете создать новый dictionary для каждой категории и использовать pandas для создания CSV для каждого словаря. Если вы застряли, я приведу пример

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...