我在Python中使用Apache Spark和MongoDB。 最后,我从数据库中获取了一个入口行,从中我正在尝试获取_id列。 不幸的是,我收到了这种格式的ObjId:
Row(oid=u'0123456789abcdef01234567')
为了继续我的工作,我正在寻找某种转换,这将使对象看起来像这样:
0123456789abcdef01234567
当然,我可以对其进行细分,但是会有一种更优雅的方式。
答案 0 :(得分:1)
由于它是一个对象,你必须使用一个点来访问它的属性:
obj.oid
然后你有一个unicode字符串,使用'utf-8'字符集对它进行编码,你得到字节,然后你必须解码才能得到你的字符串对象:
obj.oid.encode('utf-8').decode()
示例(python 3):
>>> s = u'hello' # unicode
>>> s.encode('utf-8') # to bytes
b'hello'
>>> s.encode('utf-8').decode() # to string
'hello'
示例(python 2):
>>> s = u'hello' # unicode
>>> s.encode('utf-8') # to string
'hello'