以下代码是我用来删除['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')
我也从建议中尝试过
df['text'].replace('\n', '')
df['text'] = df['text'].str.replace('\n', '').str.replace('\s+', ' ').str.strip()
输出:'多么聪明! \ n就像他也对房地产交易一无所知...'
删除空格的代码正在运行。但不能删除\ n。在这件事上有人可以帮助我吗?谢谢。
我也尝试根据此链接的建议进行解决removing newlines from messy strings in pandas dataframe cells?,但仍然无法正常工作。
已解决:
df['text'].replace(r'\s+|\\n', ' ', regex=True, inplace=True)
答案 0 :(得分:1)
考虑到要将更改应用于“texts”列,请选择该列作为
df['text']
然后,为了实现这一点,可以使用 pandas.DataFrame.replace
。
这让我们可以传递正则表达式 regex=True
,它将两个列表中的两个字符串都解释为正则表达式(而不是直接匹配它们)。
接上 @Wiktor Stribiżew suggestion,以下将完成工作
df['text'] = df['text'].replace(r'\s+|\\n', ' ', regex=True)
This 正则表达式语法参考可能会有所帮助。