pythonfor循环读取复合json数据_⽤Python迭代for循环中的所
有元素以提取。。。
我在⼀个⽂件中有下⾯的⽰例数据,我使⽤Python和下⾯的代码将数据从中提取到CVS⽂件中,使⽤writerow()函数,逻辑似乎可以很好地处理其他元素较少的数据。在
我很难理解如何告诉这个逻辑来转储所有⾏,⽽不仅仅是第⼀⾏,即[0],我已经阅读并测试了将for循环放⼊range(len(int)):数组中,但我总是会出错。在
如果我没有在writerow[item['tags']['']中指定[#]元素或其他任何元素,那么我就得到了⼀个关于TypeError: list indices must be integers or slices, not str的错误,所以我不知道如何告诉这个东西,将这个JSON⽂件中这些字段的所有⾏转储到⼀个CSV⽂件中,但这就是我所拥有的,也是我⽤range(len)函数所做的尝试,但是我⽆法使它⼯作。在
我是Python新⼿,所以我还不太了解Python,但是在另⼀个SE社区的另⼀个问题中,有⼈告诉我,Python是⼀个很好的⼯具,可以⽤来将JSON数据转储到CSV中,直到我需要迭代其他级别中的所有元素,等等。在
我还读到可能有⼀种⽅法可以使⽤while循环来完成这⼀点,但是使⽤带有range(len)⽅法的数组与⾮whil
e循环进⾏迭代对我来说更有意义,但是我没有在循环中做⼀些正确的事情来让它⼯作。我想我⾛的路是对的,但希望Python专家能帮助我。在
样本数据{
"success": true,
"devices": [
{
"id": 123456,
"name": "RemoteSite123",
"tags": [
{
"id": 445533,
"name": "testtag",
"dataType": "Float",
"description": "",
"alarm": "",
"value": 0,
"quality": "good",
"devId": 1
},
{
"id": 112233,
"name": "Test2PSI",
"dataType": "Float",
"description": "",
"alarm": "",
"value": 0,
"quality": "good", "devId": 2
},
{
"id": 90011, "name": "Tank2", "dataType": "Bool", "description": "", "alarm": "",
"value": 0,
"quality": "good", "devId": 3
},
{
"id": 55110, "name": "Tank3", "dataType": "Bool", "description": "", "alarm": "",
"value": 0,
"quality": "good", "devId": 4
},
{
"id": 71231, "name": "Line4Sensor", "dataType": "Bool", "description": "", "alarm": "",
"value": 0,
"quality": "good", "devId": 5
},
{
"id": 74321,
"name": "WaterFill",
"dataType": "Bool",
"description": "",
"alarm": "",
python怎么读取json文件"value": 0,
"quality": "good",
"devId": 6
},
{
"id": 70589,
"name": "tank9PSI",
"dataType": "Float",
"description": "",
"alarm": "",
"value": 0,
"quality": "good",
"devId": 7
}
],
"lastSynchroDate": "2016-11-08T03:32:21Z" }
]
}
我的代码
^{pr2}$
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论