如何将以下代码的数据写入 json 文件,我收到以下错误任何人帮助我我的代码有什么问题

柴坦尼亚杂烩
import argparse
from PIL import Image
import pytesseract
import numpy as np
import json

def image_to_text(image):
    pytesseract.tesseract_cmd = r'C:\Program Files\Tesseract-OCR\tesseract.exe'
    result = pytesseract.image_to_string(image, lang='eng')
    return result

if __name__ == "__main__":
    ap = argparse.ArgumentParser("Image content into text")
    ap.add_argument("--input", required = True, help='path to input image')
    args = ap.parse_args()
    img = Image.open(args.input)
    print(img.size)
    xy_coords = np.flip(np.column_stack(np.where(np.array(img) >= 0)), axis = 1)
    value = np.hstack([xy_coords])
    print(value)
    list = value
    js = json.dumps(list)
    jsonfile = open("coordinates.json","w")
    jsonfile.write(js)
    jsonfile.close()
    print(image_to_text(img))

错误:

Traceback (most recent call last):
  File "C:\Users\Chaitanya\Desktop\image\code.py", line 26, in <module>
    js = json.dumps(list)
  File "C:\Users\Chaitanya\AppData\Local\Programs\Python\Python37\lib\json\__init__.py", line 231, in dumps
    return _default_encoder.encode(obj)
  File "C:\Users\Chaitanya\AppData\Local\Programs\Python\Python37\lib\json\encoder.py", line 199, in encode
    chunks = self.iterencode(o, _one_shot=True)
  File "C:\Users\Chaitanya\AppData\Local\Programs\Python\Python37\lib\json\encoder.py", line 257, in iterencode
    return _iterencode(o, 0)
  File "C:\Users\Chaitanya\AppData\Local\Programs\Python\Python37\lib\json\encoder.py", line 179, in default
    raise TypeError(f'Object of type {o.__class__.__name__} '
TypeError: Object of type ndarray is not JSON serializable
MSH

首先,永远不要使用函数名作为变量名。通过将变量分配为列表,您只需覆盖您需要的列表函数。所以使用一些更好的变量名。

问题:

错误说明了一切。

TypeError: Object of type ndarray is not JSON serializable

json 数据可以携带以下类型的值:

  • 细绳
  • 数字
  • 目的
  • 大批
  • 真的
  • 错误的
  • 空值

请参阅JSON 简介

在您的代码中,您尝试添加如下列表或数据:

value = np.hstack([xy_coords])
print(value)
list = value
js = json.dumps(list)

您正在尝试转储list,它指向valuenumpy.ndarray不是 a listJson 确实支持list类型,但不支持numpy.ndarray.

因此,将命名的变量类型更改list为列表。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将以下代码片段转换为Java 8功能?

如何将以下代码的货币面额的逻辑转换为打字稿

任何人都可以在以下情况下帮助我在DAC上

如何将以下代码转换为异步等待

如何将以下代码编写为递归方法?

我在json中有一个数组,当我尝试使用以下代码访问它时,出现多个单词错误。任何人都可以帮助修复代码

我的服务器被黑客入侵,注入了编码代码。我不知道此代码的目的是什么?请任何人帮助我

如何将以下代码分解为android中的各个类

如何将以下XML数据转换为数组(JSON或其他方式)

如何将以下JSON数据插入表中?

任何人都可以帮我尝试以下代码的分页...!

我不知道这段代码有什么问题,谁能帮助我:

我的以下代码使用指针获取字符串长度有什么问题?

如何将以下数据从 DataTable 转换为 JSON 对象

我的代码有什么问题,请帮助我

如何将以下代码从 T-SQL 转换为 DB2 LUW?

任何人都可以帮助我在 php 的 foreach 循环中使用 json 数据吗?

如何将以下代码转换为列表推导式

任何人都可以帮助我理解下面代码中的问题吗?

如何将以下 JSON 数据转换为 application/x-www-form-urlencoded?

任何人都可以帮助我进行以下 SQL 查询吗?

如何将以下代码表达为公式

任何人都可以帮助我解决在 Xcode 上使用 swift 从 Firebase 检索数据的问题吗?“源文件中的编辑器占位符”

当我收到错误错误代码:1248 时,我正在这样做。每个派生表都必须有自己的别名,任何人都可以帮助我,为什么会出错?

如何将以下 JSON 转换为 C# 类?

任何人都可以帮助我:android.database.sqlite.SQLiteException:接近“,”:语法错误(代码1):,

如何将以下代码集成到网站中

任何人都可以通过 PySimpleGUI 帮助我编写代码完成此操作

任何人都可以帮助我如何编写这行代码。我想在 jsx 中使用 map