在pandas python中删除文本中的'\n'

Lil*_*ily 5 python regex string python-2.7 pandas

以下代码是我用来删除 ['text'] 列中的 \n 的当前代码:

df = pd.read_csv('file1.csv')

df['text'].replace('\s+', ' ', regex=True, inplace=True) # remove extra whitespace
df['text'].replace('\n',' ', regex=True) # remove \n in text

header = ["text", "word_length", "author"]

df_out = df.to_csv('sn_file1.csv', columns = header, sep=',', encoding='utf-8')
Run Code Online (Sandbox Code Playgroud)

我也从建议中尝试过:

df['text'].replace('\n', '')
df['text'] = df['text'].str.replace('\n', '').str.replace('\s+', ' ').str.strip()
Run Code Online (Sandbox Code Playgroud)

输出:'真是个聪明人!\n就像他对房地产交易一无所知一样......'

删除空格的代码正在运行。但不是在删除\n。任何人都可以帮助我解决这个问题吗?谢谢。

我试图根据此链接的建议解决太从熊猫数据帧单元格中凌乱的字符串中删除换行符?但它仍然无法正常工作。

解决了:

df['text'].replace(r'\s+|\\n', ' ', regex=True, inplace=True) 
Run Code Online (Sandbox Code Playgroud)

Gon*_*ica 4

考虑到想要将更改应用到“texts”列,请选择该列作为

\n
df[\'text\']\n
Run Code Online (Sandbox Code Playgroud)\n

然后,为了实现这一目标,人们可以使用pandas.DataFrame.replace.

\n

这让我们可以传递正则表达式regex=True,它将两个列表中的两个字符串解释为正则表达式(而不是直接匹配它们)。

\n

采纳@Wiktor Stribi\xc5\xbcew 建议,以下内容将完成工作

\n
df[\'text\'] = df[\'text\'].replace(r\'\\s+|\\\\n\', \' \', regex=True) \n
Run Code Online (Sandbox Code Playgroud)\n

正则表达式语法参考可能会有所帮助。

\n