我有一個下面格式的.txt檔案。 如何使用 pyspark 將其加載到一個字典中呢
{'event1'/span>: {'nPrev'/span>: 4,
'adj': array([ 10, 2, 30]) 。
'multiply'。False。
'closing_raw': 50,
'closing_adj': 60}。
'event2'/span>: {'nPrev'/span>: 4,
'adj': array([ 40, 50, 60]) 。
'multiply'。False}。
'event3'/span>: {'nPrev'/span>: 4,
'adj': array([ 30, 10, 30]) 。
'multiply'。False}。
'event4'/span>: {'nPrev'/span>: 3,
'adj': array([ 20, 10, 30]) 。
'multiply'。False}}。
uj5u.com熱心網友回復:
直接使用eval可能是危險的。這里你可以擺脫array的呼叫,使用更安全、更嚴格的ast.literal_eval:
text = " "
{'event1': {'nPrev': 4,
'adj': array([ 10, 2, 30]),
'multiply': False,
'closing_raw': 50,
'closing_adj': 60},
'event2': {'nPrev': 4,
'adj': array([ 40, 50, 60]),
'multiply': False}。
'event3': {'nPrev': 4,
'adj': array([ 30, 10, 30]),
'multiply': False}。
'event4': {'nPrev': 3,
'adj': array([ 20, 10, 30]),
'multiply': False}}
""
import re
import ast
without_arrays = re.sub(r "array((. ?))"/span>, r "1"/span>, text)
parsed = ast.literal_eval(without_arrays)
如果array(...)有可能出現在一個不應該被洗掉的字串里面,那么我可以展示一個更強大的方法,使用ast來只洗掉呼叫。
uj5u.com熱心網友回復:
你可以使用eval來構建字典。唯一的問題是,array不是python的語法,你需要首先修改它。
你可以這樣做:
txt=""{'event1': {'nPrev': 4,
'adj': array([ 10, 2, 30]),
'multiply': False,
'closing_raw': 50,
'closing_adj': 60},
'event2': {'nPrev': 4,
'adj': [ 40, 50, 60],
'multiply': False}。
'event3': {'nPrev': 4,
'adj': array([ 30, 10, 30]),
'multiply': False}。
'event4': {'nPrev': 3,
'adj': array([ 20, 10, 30]),
'multiply': False}}"""
from numpy import array
my_dict = eval(txt)。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/311654.html
標籤:
