Подтвердить что ты не робот

Замена части строки в python pandas dataframe

У меня есть аналогичная проблема с тем, который был опубликован здесь:

Pandas DataFrame: удалить ненужные части из строк в столбце

Мне нужно удалить символы новой строки из строки в DataFrame. В принципе, я получил доступ к api, используя модуль python json, и все это нормально. Создание DataFrame также удивительно. Однако, когда я хочу, наконец, вывести конечный результат в csv, я немного застрял, потому что в файле csv есть новые строки, которые создают ложные "новые строки".

Итак, в основном я пытаюсь это сделать:

'... это абзац.

И это еще один абзац... '

в это:

'... это абзац. И это еще один абзац... '

Мне не нужно сохранять какой-либо "\n" или любые специальные символы для разрыва абзаца. Поэтому его можно легко удалить.

Я пробовал несколько вариантов:

misc['product_desc'] = misc['product_desc'].strip('\n')

AttributeError: 'Series' object has no attribute 'strip'

здесь другой

misc['product_desc'] = misc['product_desc'].str.strip('\n')

TypeError: wrapper() takes exactly 1 argument (2 given)

misc['product_desc'] = misc['product_desc'].map(lambda x: x.strip('\n'))
misc['product_desc'] = misc['product_desc'].map(lambda x: x.strip('\n\t'))

Нет сообщения об ошибке, но символы новой строки также не исчезают. То же самое с этим:

misc = misc.replace('\n', '')

Строка write to csv такова:

misc_id.to_csv('C:\Users\jlalonde\Desktop\misc_w_id.csv', sep=' ', na_rep='', index=False, encoding='utf-8')

Версия Pandas равна 0.9.1

Спасибо!:)

4b9b3361

Ответ 1

strip удаляет только указанные символы в начале и в конце строки. Если вы хотите удалить все \n, вам нужно использовать replace.

misc['product_desc'] = misc['product_desc'].str.replace('\n', '')

Ответ 2

Для достижения этого можно использовать параметр regex метода replace:

misc['product_desc'] = misc['product_desc'].replace(to_replace='\n', value='', regex=True)