26

我有一个与此处发布的问题类似的问题:

Pandas DataFrame:从列中的字符串中删除不需要的部分

我需要从 DataFrame 的字符串中删除换行符。基本上,我已经使用 python 的 json 模块访问了一个 api,这一切都很好。创建 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', '')

写入 csv 行是这样的:

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

熊猫的版本是 0.9.1

谢谢!:)

4

2 回答 2

48

strip只删除字符串开头和结尾的指定字符。如果要全部 \n删除,则需要使用replace.

misc['product_desc'] = misc['product_desc'].str.replace('\n', '')
于 2013-01-15T20:02:32.267 回答
7

您可以使用方法的regex参数replace来实现:

misc['product_desc'] = misc['product_desc'].replace(to_replace='\n', value='', regex=True)
于 2015-11-30T07:03:08.363 回答