gpt4 book ai didi

python - 如何阻止 Tabula 自动删除空列?

转载 作者:太空宇宙 更新时间:2023-11-03 20:55:13 28 4
gpt4 key购买 nike

我正在尝试从 PDF 中抓取数据,以便可以重新格式化它,然后将其插入到 Oracle 中的表中。我正在尝试使用 Tabula 读取 PDF 并将其转换为表列表,但如果这些列仅包含空值,Tabula 似乎会从表中删除列。通常这不会是一个问题(数据一开始就是“无”,所以我不关心保留它),但是在某些列上删除“空”值而不是在其他列上删除会使我的代码无法执行以确定哪些列是哪些列。例如,它可能来自:

0   1   2   3

x x n/a x

x x n/a x

x x n/a x

0   1   2

x x x

x x x

x x x

在运行时无法知道哪一列被删除,所以我不能只是将其重新插入到必要的位置。

这些列在数据中没有任何唯一标识符。我不能只在末尾添加一个空列,因为在列中保持相同的顺序是绝对必要的

我研究了 Tabula API,虽然我找到了许多有关如何删除空列的便捷指南,但我没有找到任何内容来确保它们保持存在。

dflist = tabula.read_pdf(path, pages = '14-27', multiple_tables = True)
# dflist is a list of dataframes
# dflist[0] == a single dataframe

(对格式不佳表示歉意;不熟悉堆栈溢出间距)

预期结果:

0   1   2   3

X NaN X X

X NaN X X

X NaN X NaN

实际结果:

0   1   2

X X X

X X X

X X NaN

最佳答案

更新:我能找到的最好的解决方案是摆弄“格子”设置,它决定了如何在 Tabula 中读取表格(您可以在他们的网站上找到文档)。不幸的是,这些设置也抵消了我的 PDF 上的一些行,所以我无法使用它。我不得不放弃使其完全自动化的想法,现在使用临时表,由人工检查哪些列将被删除。

关于python - 如何阻止 Tabula 自动删除空列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56065307/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com