【发布时间】:2019-10-06 09:21:55
【问题描述】:
我有以下将 boto3 用于 AWS 的代码。
import boto3
from trp import Document
# Document
s3BucketName = "bucket"
documentName = "doc.png"
# Amazon Textract client
textract = boto3.client('textract')
# Call Amazon Textract
response = textract.analyze_document(
Document={
'S3Object': {
'Bucket': s3BucketName,
'Name': documentName
}
},
FeatureTypes=["FORMS"])
#print(response)
doc = Document(response)
for page in doc.pages:
# Print fields
print("Fields:")
for field in page.form.fields:
print("Key: {}, Value: {}".format(field.key, field.value))
我正在尝试将该函数的输出保存为 dict、JSON 或 CSV,但我还不是经验丰富的 Python 程序员。
我试过了:
key_map = {}
filepath = 'output.txt'
with open(filepath) as fp:
line = fp.readline()
cnt = 1
while line:
for page in doc.pages:
# Print fields
print("Fields:")
for field in page.form.fields:
#print("Key: {}, Value: {}".format(field.key, field.value))
key_map[str(field.key, field.value)] = cnt
line = fp.readline()
cnt +=1
但我认为这个解决方案不起作用。关于如何将 for 循环的输出保存为 JSON 的任何提示?
【问题讨论】:
-
您尝试的内容似乎是从文件中读取而不是写入。所以你想要的只是将
doc = Document(response)的输出写入文件? -
是的。因此,将打印输出 (print("Key: {}, Value: {}".format(field.key, field.value)) 保存为 JSON 或 CSV。
标签: python json dictionary amazon-textract