Python 更改字典中项目的数据类型
我有一个.txt文件,里面有20000行这样的字典:Python 更改字典中项目的数据类型,python,json,dictionary,Python,Json,Dictionary,我有一个.txt文件,里面有20000行这样的字典: { "seller_cd":"20559","order_cd":"121213123123","items":[{"item_cd":"45114","item_name":"ABC","width":"16.9",&quo
{ "seller_cd":"20559","order_cd":"121213123123","items":[{"item_cd":"45114","item_name":"ABC","width":"16.9","height":"3.4","depth":"13.8", "qty":"3"},{"item_cd":"4232","item_name":"xyz","width":"16.9","height":"1.5", "depth":"11.8","qty":"3"},{"item_cd":"45114","item_name":"xz","width":"16.6","height":"3.9","depth":"13.7","qty":"6"}]}
我正在尝试将宽度、高度和深度的数据类型更改为int/float值
我试图将其转换为数据帧,然后转换数据类型,但我想可能有一种更简单的方法。有没有一种有效的方法来解决这个问题,是用pandas还是仅仅用一个文件操作?我很感激您的想法。我认为香草python适合于此,20k行根本不多
import json
from pathlib import Path
from ast import literal_eval
file = 'path_to_file'
with open(file,'r') as f:
json_object = json.load(f)
for item in json_object['items']:
item['width'] = literal_eval(item['width'])
item['height'] = literal_eval(item['height'])
item['depth'] = literal_eval(item['depth'])
我认为vanilla python在这方面很好,20k行根本没有那么多
import json
from pathlib import Path
from ast import literal_eval
file = 'path_to_file'
with open(file,'r') as f:
json_object = json.load(f)
for item in json_object['items']:
item['width'] = literal_eval(item['width'])
item['height'] = literal_eval(item['height'])
item['depth'] = literal_eval(item['depth'])
我认为非熊猫解决方案在这里更好。您可以尝试使用json.load导入数据并传入一个object\u hook参数,这可以让您修改。我认为非熊猫解决方案在这里更好。您可以尝试使用json.load导入数据并传入一个object\u hook参数,这可以让您修改。非常感谢。我得到一些错误JSONDecodeError:额外数据:第2行第1列char 443在哪一行代码上@prb07文件是实际的json对象吗?该文件不是json对象。我有一个文本文件,每行有一个长字典。有20000个字典,像这样。它是如何构造的?@ MaaKin认为它是每一个字典的一个条目。谢谢。我得到一些错误JSONDecodeError:额外数据:第2行第1列char 443在哪一行代码上@prb07文件是实际的json对象吗?该文件不是json对象。我有一个文本文件,每行有一个长字典。有20000个字典,像这样。它是如何构造的?@ MaaKin认为它是每行字典的一个条目。