首页 > 解决方案 > Pytesseract 输出到列表中然后拆分并出现错误

问题描述

我正在尝试将pytesseract输出放入列表中,然后将其拆分,但我无法使其正常工作。

不工作的代码部分:

mylist = [] 
mylist = [pytesseract.image_to_string(Image.open('test.png'))] 
print(mylist) 
list2 = mylist.split() 
print(list2) 

我得到的输出是:

['33 44 55\n\x0c'] list2 = mylist.split( ) AttributeError: 'list' object has no attribute 'split' 

标签: python-tesseract

解决方案


问题是您想在对象上使用字符串的 ( str)split函数list

让我们一步一步解释

mylist = [] 

您不需要声明mylist为 empty list,因为

mylist = [pytesseract.image_to_string(Image.open('test.png'))] 

你已经声明了。但是如果你想使用split,那么你需要在mylist没有括号的情况下声明。

mylist = pytesseract.image_to_string(Image.open('test.png'))

现在,如果您检查mylist类型

print(type(mylist))

结果应该是:

<class 'str'>

根据文档,您需要提供输入参数。例如:

list2 = mylist.split("\n") 
print(list2) 

mylist根据"\n"字符拆分。因此正确的实现将是:

mylist = pytesseract.image_to_string(Image.open('test.png'))
print(mylist) 
list2 = mylist.split() 
print(list2) 

推荐阅读