我正在使用Python
和boto3
对AWS进行API调用。响应在JSON
中返回,因此我将JSON
响应写入文件。然后,我需要打开JSON
文件并将其转换为csv
文件。当我运行我的代码时,我收到上述错误。下面是我的代码,示例JSON
和回溯。
代码:
def ResponseConvert():
dynamo = boto3.client('dynamodb',
region_name='xxxxxx',
aws_access_key_id='xxxxxxxxxxxxxxxxxxxxxxx',
aws_secret_access_key='xxxxxxxxxxxxxxxxxxxxxxx')
response = dynamo.scan(
TableName='XXXXXXXXX'
)
with open('vuln_data.json', 'w') as outfile:
json.dump(response, outfile, indent=4)
f = open('vuln_data.json')
data = json.load(f)
f.close()
writer = csv.writer(open('vuln_data.csv', 'wb+'))
writer.writerow(data.iterkeys())
for row in data:
writer.writerow(row.itervalues())
ResponseConvert()
JSON:
{
"Count": 55,
"Items": [
{
"CVSS_SCORE": {
"S": "3.5"
},
"AMI_ID": {
"S": "ami-xxxxxxx"
},
"OS": {
"S": "Ubuntu / Tiny Core Linux / Linux 2.6.x"
},
"PATCHES": {
"S": "xxxxxxx"
}
},
{
"CVSS_SCORE": {
"S": "3.5"
},
"AMI_ID": {
"S": "ami-xxxxxxxx"
},
"OS": {
"S": "CentOS Linux 7.3.1611"
},
"PATCHES": {
"S": "xxxxxxx"
}
}
]
}
回溯:
Traceback (most recent call last):
File "response_convert.py", line 20, in <module>
ResponseConvert()
File "response_vonvert.py", line 16, in ResponseConvert
writer.writerow(data.iterkeys())
_csv.Error: sequence expected