字符串到list-python的dict中



我正在努力找出解析使用pytesseract.image_to_data("image.png")得到的字符串的最佳方法。

当我通常得到数据库时,结果是这样的:

level   page_num    block_num   par_num line_num    word_num    left    top width   height  conf    text
1   1   0   0   0   0   0   0   1920    1080    -1  
2   1   1   0   0   0   0   8   28  17  -1  
3   1   1   1   0   0   0   8   28  17  -1  
4   1   1   1   1   0   0   8   28  17  -1  
5   1   1   1   1   1   0   8   28  17  95.000000    
2   1   2   0   0   0   15  9   737 52  -1  
3   1   2   1   0   0   15  9   737 52  -1  
4   1   2   1   1   0   15  9   438 19  -1  
5   1   2   1   1   1   15  9   10  9   27.712341   |
5   1   2   1   1   2   31  10  58  14  96.167610   Tableau
5   1   2   1   1   3   96  10  46  14  92.450928   Public
5   1   2   1   1   4   148 18  5   1   92.450928   -
5   1   2   1   1   5   160 11  66  13  96.975945   Business
5   1   2   1   1   6   231 10  84  18  93.306007   Ownership
5   1   2   1   1   7   322 18  5   1   92.816788   -
5   1   2   1   1   8   334 11  56  13  96.618721   Section
etc.....

但我希望数据显示在列表/dict中,这样我就可以根据text值搜索widthheight。所以我知道我想做一些类似的事情:

data = pytesseract.image_to_data("image.png")
for rows in data:
if "Public" in rows["text"]:
print(rows["width"])
print(rows["height"])

但由于数据是以字符串的形式出现的,我不知道该怎么做。

我试着看看pytesseract是否有办法将有问题的图像解析为我正在寻找的列表/dict结构,但目前还没有成功。解析似乎也很难,因为我认为这是一个用制表符分隔的字符串?

有没有办法将pytesseract图像转换为列表/数组,这样我就可以从中提取我想要的特定信息?

我在@shawncaza找到答案的同时找到了答案。image_to_data的函数有一个输出类型的param选项,您可以将其设置为dict。以下是如何将这种类型的字符串转换为dict/list:的基本示例

import pytesseract
from pytesseract import Output
pytesseract.pytesseract.tesseract_cmd = r"C:Program FilesTesseract-OCRtesseract.exe"
data = pytesseract.image_to_data("image.png", output_type=Output.DICT)
print(data)

最新更新