pythonunicode将反斜杠u替换为空字符串

2024-04-26 12:07:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在清理一个pandas数据帧,遇到了unicode字符串,它里面有一个反斜杠,而我需要替换它

u'\u2014'.replace('\u','')
Result: u'\u2014'

我尝试过将其编码为utf-8,然后解码,但这没用,我觉得肯定有更简单的方法来解决这个问题。在

熊猫代码

^{pr2}$

错误

UnicodeEncodeError: 'ascii' codec can't encode character u'\u2014' in position 0: ordinal not in range(128)

Tags: 数据方法字符串代码inpandas编码unicode
2条回答

是的,它不是一个字符串,而是一个字符串。在

有助于:

  • 使用.encode('ascii','ignore')转换为ascii
  • 当您使用pandas时,可以使用“encoding”参数并在那里传递“ascii”。在
  • 改为:u'\u2014'.replace(u'\u2014',u'2014').encode('ascii','ignore')

希望这有帮助。在

u'\u2014'实际上是-。不是数字。它是一个utf-8字符。尝试使用print关键字打印它。你会知道的

这是ipython中的输出:

In [4]: print("val = ", u'\u2014')
val =  —

根据你的评论,这是你做错了什么 “-”与“EM Dash”Unicode字符(u'\u2014'不同)

所以,你应该做以下事情

^{pr2}$

那就行了

编辑: 由于您使用的是python2.x,因此必须使用utf-8对其进行编码,如下所示

u'\u2014'.encode('utf-8').decode('utf-8').replace("-","")

相关问题 更多 >