如何在python中使用“map”将dict值转换为整数?

ef1yzkbh  于 2021-05-27  发布在  Spark
关注(0)|答案(1)|浏览(401)

我正在尝试转换字典键(从 json.loads() )与…结合 map() . 我知道我可以用循环来实现这一点,但我正在尝试从功能上实现它,以便在spark中实现它。例如:

import pyspark as ps
import json

# Uses all 4 cores on your machine

sc = ps.SparkContext('local[4]')

file_rdd = sc.textFile('data/cookie_data.txt')
kv_rdd_json = file_rdd.map(lambda x: json.loads(x))
kv_rdd2 = kv_rdd_json.map(lambda x: map(int, x.get)) # here's the issue
kv_rdd.collect()

我有另一种方法来使用函数,但我很好奇:如何使用pyspark中的.map(以及python2,python3的奖金)?
根据注解:示例数据(纯文本):

{"Jane": "2"}
{"Jane": "1"}
{"Pete": "20"}
{"Tyler": "3"}
{"Duncan": "4"}
{"Yuki": "5"}
{"Duncan": "6"}
{"Duncan": "4"}
{"Duncan": "5"}

如何将dict值转换为int的示例:python:如何将字典的值列表从string转换为int/float?

for key in mydict.keys():
    mydict[key] = int(mydict[key])

get有点像这样:按值对python字典排序

xxslljrj

xxslljrj1#

dict(zip(mydict, map(int, mydict.values())))

或使用lambda:

dict(map(lambda x: (x[0], int(x[1])), mydict.items()))

相关问题