请问OCR中表格识别有没有直接转成这种json格式的示例呢,指定表头对应的key生成{ "tableContent": [ { "nighttime": "52.8", "site": "厂界东", "daytimeIsStandard": "是", "nighttimeStandardVal": "55", "daytime": "58.6", "daytimeStandardVal": "65", "nighttimeIsStandard": "是" }, { "nighttime": "53.6", "site": "厂界南", "daytimeIsStandard": "是", "nighttimeStandardVal": "55", "daytime": "59.0", "daytimeStandardVal": "65", "nighttimeIsStandard": "是" } ], "tail": "噪声检测结果 单位:等效声级Leq[dB(A) 】", "title": "检测结果执行《工业企业厂界环境噪声排放标准》(GB12348-2008)表1三类标准限值" }?
阿里云OCR中的表格识别功能,可以将识别结果输出为JSON格式,但是需要对返回结果进行解析和处理才能得到您想要的格式。具体可以按照以下步骤进行操作:
以下是一个示例代码,可以将阿里云OCR返回的表格识别结果转换成您需要的JSON格式:
import json
# 假设阿里云OCR返回的表格识别结果为table_result
table_result = {
"result": {
"tables": [
{
"body": [
["52.8", "厂界东", "是", "55", "58.6", "65", "是"],
["53.6", "厂界南", "是", "55", "59.0", "65", "是"]
],
"head": ["nighttime", "site", "daytimeIsStandard", "nighttimeStandardVal", "daytime", "daytimeStandardVal", "nighttimeIsStandard"],
"tail": ["噪声检测结果 单位:等效声级Leq[dB(A) 】"],
"title": ["检测结果执行《工业企业厂界环境噪声排放标准》(GB12348-2008)表1三类标准限值"]
}
]
}
}
# 解析表格数据
table_data = table_result["result"]["tables"][0]
table_head = table_data["head"]
table_body = table_data["body"]
table_tail = table_data["tail"]
table_title = table_data["title"]
# 组织JSON格式数据
json_data = {
"tableContent": [],
"tail": table_tail[0],
"title": table_title[0]
}
for row in table_body:
row_dict = {}
for i in range(len(table_head)):
row_dict[table_head[i]] = row[i]
json_data["tableContent"].append(row_dict)
# 输出JSON格式数据
print(json.dumps(json_data, ensure_ascii=False))
以上代码将阿里云OCR返回的表格识别结果解析成了一个JSON格式的数据,其中包含了您需要的表头对应的key和表格数据。
1 阿里云 OCR 表格识别接口返回结果是一个结构化的表格数据,其中包含表格的行列信息和每个单元格的内容。如果您需要将表格数据转换成特定的 JSON 格式,可以根据实际情况编写相应的代码,对表格数据进行解析和转换。
以下是一个示例代码,可以将表格数据转换成您提供的 JSON 格式。该代码使用 Python 语言编写,需要安装相应的 OCR SDK 和 JSON 库。
import json
from aliyunsdkcore import client
from aliyunsdkocr.request.v20191230 import RecognizeTableRequest
accessKeyId = 'your_access_key_id'
accessKeySecret = 'your_access_key_secret'
endpoint = 'https://ocr.cn-shanghai.aliyuncs.com'
client = client.AcsClient(accessKeyId, accessKeySecret, 'cn-shanghai')
def recognize_table(url):
request = RecognizeTableRequest.RecognizeTableRequest()
request.set_ImageURL(url)
response = client.do_action_with_exception(request)
result = json.loads(response)
table = result['Tables'][0]
rows = table['Rows']
cols = table['TitleCols']
tableContent = []
for row in rows:
rowContent = {}
for i, cell in enumerate(row['Cells']):
col = cols[i]['Value']
rowContent[col] = cell['Value']
tableContent.append(rowContent)
json_result = {
'tableContent': tableContent,
'title': table['Title'],
'tail': table['Tail'],
}
return json_result
url = 'your_table_image_url'
json_result = recognize_table(url)
print(json.dumps(json_result, ensure_ascii=False, indent=4))
在 上述示例代码中,recognize_table 函数接收一个表格图片的 URL,调用 OCR 表格识别接口进行识别,并将识别结果转换成您提供的 JSON 格式。具体地,该代码首先解析表格数据的行列信息和每个单元格的内容,然后将表格数据转换成您提供的 JSON 格式,并返回 JSON 对象。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。