【发布时间】:2017-12-19 05:07:12
【问题描述】:
我有以下数据:
json_str = "[{“key1”: “value1”, “key2”= “value2”,
“key3”: “{“key_a”: “value_a1”, “key_b”: “value_b1”, “key_c”: “value_c1”}”,“key4”: 4},
{“key1”: “value5”, “key2”= “value6”,
“key3”: “{“key_a”: “value_a2”, “key_b”: “value_b2”, “key_c”: “value_c2”}”,“key4”: 8}]"
我想将其转换为 pandas DataFrame。 我试过这个:
#code1
data = pd.read_json(json_str)
print(data)
#code2
data = pd.read_json(json_str, typ ='series')
print(data)
#code3
data = pd.DataFrame.from_dict([json_str], orient='columns', dtype= None)
print(data)
#same output
ValueError: Unexpected character found when decoding object value
再次:
data = json.loads(json_str)
print(data)
enter code here
error : json.decoder.JSONDecodeError: Expecting ',' delimiter
我无法使用 .replace(),因为我需要一个包含 JSON 值的列名“key3” 例如:{“key_a”:“value_a1”,“key_b”:“value_b1”,“key_c”:“value_c1”}
【问题讨论】:
-
您的数据不统一。你有这样的
key:,还有key= -
感谢您指出。现在,它已被编辑。
-
你还有热
“key2”= “value2” -
魔术引号也可能不太好。
-
不,这是统一的。我认为。 key1.....key4 都是一样的,但是值不同