问题标签 [tabula]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 使用java将PDF转换为CSV
我已经尝试了堆栈溢出和外部的大部分内容
问题:我有一个包含内容和表格的 pdf。我还需要解析表格和内容。
APIs:
https ://github.com/tabulapdf/tabula-java
我正在使用tabula-java
它忽略了一些内容,并且表格单元格内的内容没有以正确的方式分离。
我的 PDF 有这样的内容
要转换的表格代码:
tabula 甚至支持命令行界面
我尝试使用-c,--columns <COLUMNS>
表格,它通过列边界的 X 坐标获取单元格
但问题是我的 pdfs 内容是动态的。即表大小已更改。
堆栈溢出中的这些链接和更多的力对我有用。
我使用了 pdf 框,它提供了未格式化的文本,我无法正确读取表格内容。
可以使用 java将带有表格的 pdf 转换为csv/excel,而不会丢失内容和格式。
我不想使用付费图书馆。
python - ImportError:无法从“tabula”Windows 10 导入名称“wrapper”
我已经安装了 Java 并设置了路径,我可以从命令行成功执行 java -version 和 javac -version。当我尝试运行以下脚本时,出现错误。
错误是
我安装了 tabula-py 并检查了 tabula 不存在。
有任何想法吗??
python - 无法识别表
如果表格分布在多个页面上并且水平边框被剪切,因此我无法使用表格将 PDF 文件中的表格作为数据框读取,因此它不会被识别为表格。我该如何解决这个问题?我可以仅使用垂直线检测表格吗?
也尝试了新包 camelot,但再次无法阅读该列。
我只能在示例 pdf 中检测到一个表,未检测到 2x2 表
示例 pdf 链接:https ://onedrive.live.com/?id=690704CAD1449D85%21105&cid=690704CAD1449D85
r - 从R中的pdf文件中抓取数据
我需要从 pdf 中提取表格。这是链接
https://www.acea.be/uploads/statistic_documents/ACEA_Report_Vehicles_in_use-Europe_2018.pdf
我想要这个 pdf 中的第一个表。
这是我的代码
但在 2012、2013、2015、2016 年的 o/p 列中,正在追加到一列中。我想要 pdf 文件中的表格。
我的代码的o/p。
python - Python tabula read_pdf 打开 java 控制台窗口
我有一个使用 tabula.read_pdf 的脚本。脚本工作正常,但是当我使用 PyInstaller(带有 --noconsole 选项)构建一个 exe 文件并运行我的脚本时 - 它会打开 java.exe 空控制台窗口,该窗口在脚本工作完成之前一直保持打开状态。我怎样才能避免它?谢谢
python - 将数据框中的行的一部分向右移动?
有问题的数据框正在使用 Tabula 从 pdf 文件中读取并在错误的位置获取一些列。它看起来像这样:
我不确定为什么会这样,但问题很明显,在此数据帧的最后几行中,格式不再正确读取,并开始忽略空单元格并将数据向左移动。我想做的是移动第 2 行和第 3 行,以便它们正确地定向到列。最终结果应该是:
我想不出一种不包括过于复杂和低效的方法来做到这一点。
python - Python tabula .convert_into 跳过多个空格(pdf中带有多个空格的单词在一起没有空格)
我正在使用 tabula.convert_into csv,它可以很好地抓取所有内容,但文本如下:
“DEV__HH WorldSummit 重新估计”
在 PDF 中变成(DEV 和 HH 之间有 2 个空格)
csv 中的“DEVHH WorldSummit Re Estimates”
我已经尝试了 encoding='utf-8' 和其他库,例如 pypdf2,但 tabula 给了我迄今为止最好的结果。这只是我需要解决的一件奇怪的事情。
python-3.x - 我收到 File not found 错误,似乎不是编码问题
我正在使用 tabula 读取 pdf 表,但得到文件未找到错误,我尝试使用 chardet ( https://pypi.org/project/chardet/#files ) 查找是否有任何编码问题,但编码为 None .
FileNotFoundError Traceback(最近一次调用最后)~\Anaconda3\lib\site-packages\tabula\wrapper.py in read_pdf(input_path, output_format, encoding, java_options, pandas_options, multiple_tables, **kwargs) 107 try: --> 108 output = subprocess.check_output(args) 109
~\Anaconda3\lib\subprocess.py in check_output(timeout, *popenargs, **kwargs) 388 return run(*popenargs, stdout=PIPE, timeout=timeout, check=True, --> 389 **kwargs).stdout 390
~\Anaconda3\lib\subprocess.py in run(input, capture_output, timeout, check, *popenargs, **kwargs) 465 --> 466 with Popen(*popenargs, **kwargs) as process: 467 try:
~\Anaconda3\lib\subprocess.py in init(self、args、bufsize、可执行文件、stdin、stdout、stderr、preexec_fn、close_fds、shell、cwd、env、universal_newlines、startupinfo、creationflags、restore_signals、start_new_session、pass_fds、编码、错误,文本)768 errread,errwrite,--> 769 restore_signals,start_new_session)770 除了:
~\Anaconda3\lib\subprocess.py in _execute_child(self,args,executable,preexec_fn,close_fds,pass_fds,cwd,env,startupinfo,creationflags,shell,p2cread,p2cwrite,c2pread,c2pwrite,errread,errwrite,unused_restore_signals,unused_start_new_session) 1171
os.fspath(cwd) 如果 cwd 不是 None else None, -> 1172 startupinfo) 1173 最后:FileNotFoundError: [WinError 2] 系统找不到指定的文件
在处理上述异常的过程中,又出现了一个异常:
----> 1 df = read_pdf('C:\Users\YQ\IPA.pdf') 2 df 中的 JavaNotFoundError Traceback(最近一次调用最后一次)
~\Anaconda3\lib\site-packages\tabula\wrapper.py in read_pdf(input_path, output_format, encoding, java_options, pandas_options, multiple_tables, **kwargs) 109 110 除了 FileNotFoundError as e: --> 111 raise JavaNotFoundError(JAVA_NOT_FOUND_ERROR) 112 113 除了 subprocess.CalledProcessError 作为 e:
JavaNotFoundError:
java
从这个 Python 进程中找不到命令。请确保已安装 Java 并设置了 PATHjava
python-3.x - 使用tabula将表格从pdf导入python时出现问题
在 Python 中使用 tabula 从 pdf 导入数据时,在某些情况下,我会获得合并为一列的两列或多列。从同一个 pdf 获得的所有文件都不会发生这种情况。
在这种情况下,这是用于读取 pdf 的代码:
例如,当我打印从其中一个名为“output_pd”的 Excel 文件中获取的数据框的第一项时:
我得到:
这五个数字在一个列中,所以我不能单独对待它们。在这些情况下是否可以改进数据处理?