gpt4 book ai didi

python - 使用 u' 和 Decimal 值解码字符串中的 Python json

转载 作者:太空宇宙 更新时间:2023-11-04 07:56:34 25 4
gpt4 key购买 nike

我需要解码并加载到数据库,这是一个以下列格式到达的字符串:

"[{u'date': 1508760000000, u'value': 0}, {u'date': 1509364800000, u'value': Decimal('5.989999771118164')}, {u'date': 1509969600000, u'value': Decimal('5.989999771118164')}, {u'date': 1510574400000, u'value': Decimal('9.579999923706055')}]"

目前,这是我用来将其转换为数据框的代码:

import pandas as pd
import json

#json for example:
my_json="""[{u'date': 1508760000000, u'value': 0}, {u'date': 1509364800000, u'value': Decimal('5.989999771118164')}, {u'date': 1509969600000, u'value': Decimal('5.989999771118164')}, {u'date': 1510574400000, u'value': Decimal('9.579999923706055')}]"""
my_json=my_json[1:-1]
my_json=my_json.replace("u'","'")
my_json=my_json.replace("'",'"')
my_json=my_json.replace('Decimal("','')
my_json=my_json.replace('")','')
my_json=my_json.replace(', {','~ {')
my_json_list=my_json.split('~')
my_dict_list=[json.loads(row) for row in my_json_list]
df=pd.DataFrame(my_dict_list)

是否有更短/更优雅的方式来执行此操作?

最佳答案

使用 eval

from decimal import *
df = pd.DataFrame(eval(my_json))

date value
0 1508760000000 0
1 1509364800000 5.989999771118164
2 1509969600000 5.989999771118164
3 1510574400000 9.579999923706055

关于python - 使用 u' 和 Decimal 值解码字符串中的 Python json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47901728/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com