Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 更改字典中项目的数据类型_Python_Json_Dictionary - Fatal编程技术网

Python 更改字典中项目的数据类型

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

我有一个.txt文件,里面有20000行这样的字典:

{ "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认为它是每行字典的一个条目。