You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将pytesseract提取的文本转换为指定列的DataFrame?

解决方法

步骤1:清理无效数据

先过滤列表里的空字符串、换页符(\x0c)这类无效内容,只保留有效文本:

# 过滤空字符串和换页符
cleaned_list = [item for item in list_word if item.strip() != '' and item != '\x0c']

执行后cleaned_list会变成:

['Moustafa', 'Engineer', 'Upwork Company', 'Ahmed', 'Teacher', 'School']

步骤2:按固定长度分组

观察数据结构,每3个元素对应一组name/job/company,按步长3拆分列表:

# 每3个元素为一组
grouped_data = [cleaned_list[i:i+3] for i in range(0, len(cleaned_list), 3)]

分组后的结果:

[['Moustafa', 'Engineer', 'Upwork Company'], ['Ahmed', 'Teacher', 'School']]

步骤3:转换为DataFrame

用pandas将分组后的列表转换成指定列名的DataFrame:

import pandas as pd

df = pd.DataFrame(grouped_data, columns=['name', 'job', 'company'])

最终得到的DataFrame结构:

namejobcompany
MoustafaEngineerUpwork Company
AhmedTeacherSchool

完整代码

把所有步骤整合:

import pytesseract
import pandas as pd

# 假设image是已加载的图片对象
extractedInformation = pytesseract.image_to_string(image, lang='eng')
list_word = extractedInformation.split('\n')

# 清理数据
cleaned_list = [item for item in list_word if item.strip() != '' and item != '\x0c']
# 分组
grouped_data = [cleaned_list[i:i+3] for i in range(0, len(cleaned_list), 3)]
# 转DataFrame
df = pd.DataFrame(grouped_data, columns=['name', 'job', 'company'])

print(df)

内容的提问来源于stack exchange,提问作者Moustafa Abada

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 13:02:09