如何将JSON数据从单键转换为csv

时间:2019-07-04 00:24:35

标签: python json python-3.x csv

我正在尝试将一些数据从JSON文件转换为csv。我需要的JSON文件中的数据存在于单个键中。

我已使用以下代码从该密钥中分离出数据。这给了我以下格式的数据:

[['/s/case/50034000013ZPEoAAO$#@$00192169', 'Unable to add authentication', 'Anypoint Studio', 'Other', '7.1.3', '/s/contact/00334000023cIUYAA2$#@$Paul S', '05-31-2018 22:07', '09-27-2018 05:46', 'S4'], ['/s/case/50034000014dk7mAAA$#@$00195409', 'Connect Virtual Private Circuit - VPC-Pre-Prod 198.18.12.0/23', 'Anypoint Platform', 'CloudHub', '', '/s/contact/00334000023ZzOSAA0$#@$James G', '07-16-2018 15:59', '07-22-2018 14:42', 'S4']

我想分离数据,以便将方括号中包含的所有内容作为一行返回到我的CSV文件中(数据比上面的要长很多,方括号还很多)。

import json

json_data = json.load(open('sample_response.txt'))

for x in json_data['actions']:
    data = x['returnValue']

1 个答案:

答案 0 :(得分:1)

您需要writerows(data)进行保存

import csv

data = [
    ['/s/case/50034000013ZPEoAAO$#@$00192169', 'Unable to add authentication', 'Anypoint Studio', 'Other', '7.1.3', '/s/contact/00334000023cIUYAA2$#@$Paul S', '05-31-2018 22:07', '09-27-2018 05:46', 'S4'],
    ['/s/case/50034000014dk7mAAA$#@$00195409', 'Connect Virtual Private Circuit - VPC-Pre-Prod 198.18.12.0/23', 'Anypoint Platform', 'CloudHub', '', '/s/contact/00334000023ZzOSAA0$#@$James G', '07-16-2018 15:59', '07-22-2018 14:42', 'S4']
    # more rows
]

with open('test.csv', 'w') as fh:
    csvwriter = csv.writer(fh)
    csvwriter.writerows(data)