gpt4 book ai didi

python - 参数 1 必须有一个 "write"方法 - 从 json 创建 csv 文件

转载 作者:太空宇宙 更新时间:2023-11-03 14:03:49 24 4
gpt4 key购买 nike

我正在使用 boto3Python 调用 AWS API,并将 JSON 响应写入 JSON 文件。然后我尝试将 JSON 文件转换为 CSV 文件。当我尝试使用 csv writer() 方法执行此操作时,出现上述错误,但我不确定原因。

代码:

def ResponseConvert():
dynamo = boto3.client('dynamodb')

response = dynamo.scan(
TableName='XXXX'
)

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()

f = csv.writer(open('vuln_data.csv', 'wb+'))

f.writerow(data.keys())
for row in data:
f.writerow(row.values())

ResponseConvert()

回溯:

Traceback (most recent call last):
File "response_convert.py", line 21, in <module>
ResponseConvert()
File "response_convert.py", line 19, in ResponseConvert
f.writerow(row.values())
AttributeError: 'unicode' object has no attribute 'values'

最佳答案

CSV 编写器需要文件句柄,而不是文件名。

with open('filename.csv', 'w') as f:
writer = csv.writer(f)
...

顺便说一句,您可能需要一个 DictWriter。不要依赖匹配的顺序。

关于python - 参数 1 必须有一个 "write"方法 - 从 json 创建 csv 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49059551/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com