使用pdfplumber对于表格中的空格无法提取
一开始对于pdf文件的表格提取我使用的是pdfplumber库进行操作的,但是操作完之后却发现,pdf中原来两个字之间明明有空格却在提取的时候没有加上。所以如下图1,2:
经过几天的不眠之夜后,终于找到了解决方案:
在pdfplumber的extract_tables()中可以设置自定值,
{
"vertical_strategy": "lines",
"horizontal_strategy": "lines",
"explicit_vertical_lines": [],
"explicit_horizontal_lines": [],
"snap_tolerance": 3,
"join_tolerance": 3,
"edge_min_length": 3,
"min_words_vertical": 3,
"min_words_horizontal": 1,
"keep_blank_chars": False,
"text_tolerance": 3,
"text_x_tolerance": None, #设置横向字符的容忍长度,关系到是否能识别空格
"text_y_tolerance": None,
"intersection_tolerance": 3,
"intersection_x_tolerance": None,
"intersection_y_tolerance": None,
}
项目代码:
result = page.extract_tables(table_settings={
# 要让字符串在横轴方向的容忍长度为2,才能显示出空格
"text_x_tolerance": 2,
})
运行结果(该有空格的都有空格了):