Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.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中提取JSON数据-包含示例代码_Python_Json_Parsing_Dictionary - Fatal编程技术网

在Python中提取JSON数据-包含示例代码

在Python中提取JSON数据-包含示例代码,python,json,parsing,dictionary,Python,Json,Parsing,Dictionary,我对使用JSON数据是全新的,对Python也是相当陌生的。我正在努力用Python解析以下JSON数据,以便将数据导入SQL Server数据库。我已经有了一个程序,可以使用PYDOBC将解析后的数据导入sql server,但是我一辈子都不知道如何将JSON数据正确解析到Python字典中 我知道有很多线程可以解决这个问题,但是我找不到任何相同JSON数据结构的示例。任何帮助都将不胜感激,因为我完全被困在这个问题上。谢谢你!下面是我正在处理的JSON数据的一部分: { "data":

我对使用JSON数据是全新的,对Python也是相当陌生的。我正在努力用Python解析以下JSON数据,以便将数据导入SQL Server数据库。我已经有了一个程序,可以使用PYDOBC将解析后的数据导入sql server,但是我一辈子都不知道如何将JSON数据正确解析到Python字典中

我知道有很多线程可以解决这个问题,但是我找不到任何相同JSON数据结构的示例。任何帮助都将不胜感激,因为我完全被困在这个问题上。谢谢你!下面是我正在处理的JSON数据的一部分:

{
 "data": 
 [
  {
    "name": "Mobile Application",
    "url": "https://www.example-url.com",
    "metric": "users",
    "package": "example_pkg",
    "country": "USA",
    "data": [  
      [ 1396137600000, 5.76 ],
      [ 1396224000000, 5.79 ],
      [ 1396310400000, 6.72 ],
      ....
      [ 1487376000000, 7.15 ]
    ]
  }
],"as_of":"2017-01-22"}
再次,如果这个线程是重复的,我表示歉意,但是正如我前面提到的,我无法从其他线程中计算出逻辑,因为我是使用JSON的新手

再次感谢您在这方面提供的任何帮助或建议

import json

with open("C:\\Pathyway\\7Park.json") as json_file:
data = json.load(json_file)
assert data["data"][0]["metric"] == "users"
上述代码产生以下错误:

Traceback (most recent call last):
  File "JSONpy", line 10, in <module>
    data = json.load(json_file)
  File "C:\json\__init__.py", line 291, in load
    **kw)
  File "C:\json\__init__.py", line 339, in loads
    return _default_decoder.decode(s)
  File "C:\json\decoder.py", line 367, in decode
    raise ValueError(errmsg("Extra data", s, end, len(s)))
ValueError: Extra data: line 2 column 1 - line 7 column 1 (char 23549 - 146249)
回溯(最近一次呼叫最后一次):
文件“JSONpy”,第10行,在
data=json.load(json_文件)
文件“C:\json\\ uuuuuu init\ uuuuuuuuuu.py”,第291行,已加载
**千瓦)
文件“C:\json\\ uuuuu init\ uuuuu.py”,第339行,加载
返回\u默认\u解码器。解码
文件“C:\json\decoder.py”,第367行,在decode中
raise VALUERROR(errmsg(“额外数据”,s,end,len)))
ValueError:额外数据:第2行第1列-第7行第1列(字符23549-146249)

假设您描述的数据(减去
..
省略号)位于名为
j.json
的文件中,此代码将json文档解析为Python对象:

import json

with open("j.json") as json_file:
    data = json.load(json_file)

assert data["data"][0]["metric"] == "users"
从错误消息来看,您的文件可能不是单个JSON文档,而是由换行符分隔的JSON文档序列。如果是这样,那么下面的代码可能会更有帮助:

import json

with open("j.json") as json_file:
    for line in json_file:
        data = json.loads(line)
        print (data["data"][0]["metric"])

“如何将JSON数据正确解析到Python字典中。”--您尝试过什么?您是否尝试过导入json/
json.load(open('file.json'))
?我尝试过从json.load(open(file.json))到json_data=[json.load(line)for line in open(json)]的许多方法都没有帮助?如果是这样,请提供有问题的代码,并解释是哪个部分导致了错误。我也尝试过使用ijson包。我收到了很多不同的错误,我认为我面临的主要问题是,我没有正确地编写与JSON数据结构相关的Python代码。请您的问题提供一个示例程序。请提供一个简短、完整的程序来演示您看到的错误。请包括程序的所有输出,包括任何错误消息的全文。请描述您期望的输出结果。更多信息请参见。罗布,非常感谢你。这基本上是我在发布此线程之前尝试的最后一段代码。我从这段代码中收到的错误如下(我还将编辑我的原始问题,并添加出现在命令提示符中的完整错误的屏幕截图)。Error=“ValueError:额外数据:第2行第1列-第7行第1列(char 23549-146249)当我运行您提供的代码时,我附上了一个屏幕截图,显示了确切的错误消息。这非常有效,再次感谢Rob,这是一个巨大的帮助。Rob,如果不太麻烦的话,还有一个快速问题。现在是否可以将这些JSON文件加载到字典中,以便导出到SQL Server数据库中?如果可以,是哪一个Python模块是最好的使用方式。再次感谢您的帮助。抱歉,我不太了解如何导出到SQL Server数据库。但是,可以加载这些文件(它们不是JSON文件——JSON文件中只有一个JSON文档)。要从这样一个文件创建一个
dict
,我可以这样做:
对于I,枚举(json文件)中的行:result\u dict[I]=json.loads(line)