【发布时间】:2016-04-01 11:19:32
【问题描述】:
我有以下一行 Python 代码:
trans = data.map(lambda line: line.strip().split())
生成 Unicode 字符串,例如:
u'Hello',u'word'
我想获取普通的 UTF-8 或 ASCII 字符串
'Hello','word'
我尝试将字符串转换为 UTF-8,例如
trans = data.map(lambda line: line.strip().split().encode("utf-8"))
或
trans = data.map(lambda line: line.strip().split().encode('ascii','ignore'))
但这给出了一个错误:
AttributeError: 'list' object has no attribute 'encode'
谁能告诉我怎么做?
更新:
数据是 scv 文件, trans 是 RDD
【问题讨论】:
-
为什么要避免使用 Unicode?对于大多数用例来说,它应该是首选的、合理的默认设置。这有点像XY problem。
-
我尽量避免使用 unicode 进行演示
-
@Toren 这毫无意义。您的问题表明您尝试编码为 UTF-8,这是 Unicode 的编码。听起来还是 XY 问题。
标签: python-2.7 unicode utf-8 apache-spark pyspark