7

我需要从 Excel/CSV 文件中提取特定的列/行。有人建议我使用 Tika 来完成这项任务。

在通过 tika 时,我遇到了 POI API,发现使用它更友好。

我们可能需要进一步解析 PDF 文件。

我是这项技术的新手,我想知道两者之间的区别以及哪种技术更适合我的要求。

谢谢,克里希纳

4

2 回答 2

19

Apache Tika提供了一种从各种格式中提取一致文本和元数据的常用方法。它还提供内容检测、语言检测和其他一些功能。如果您编写代码以使用 Apache Tika,那么您的代码将能够以相同的方式处理大量格式。您不必担心一种格式是否有标题,或者另一种格式是否将相同的逻辑事物称为 LongTitle 或主题。您无需担心要使用什么库来处理什么格式。您调用 Tika,它为您完成了艰苦的工作,并且返回您一致的元数据和文本内容

Apache POI是 Tika 使用的库之一。POI 支持大多数主要的 Microsoft Office 格式,包括 Excel(.xls 和 .xlsx)。它提供对整个文件格式的访问,使您可以完全控制所读取的信息。(它也支持写作)。Tika 使用 POI 从各种不同的 Microsoft 格式中获取文本和元数据,但不会提取所有内容。直接使用 POI 可以让你决定你关心什么并得到它。

如果您想支持多种文件格式,请使用 Tika。如果您想完全控制如何获取信息,请使用 POI。

于 2013-09-19T14:28:59.037 回答
1

Apache POI 是大多数 Microsoft 文档的成熟解析器/编写器。它支持新推出的 2007 (XSSF) 格式和 Microsoft 2003 文件格式 (HSSF)。Apache POI 提供两级 API 用于解析和生成 Microsoft 文件。一种是更高级别的 API,它是位内存密集型的,它读取整个文件并在内存中保存类似于 XML 中的 DOM 解析的东西,以及用于内存密集型使用的更低级别的 API,类似于 SAX/StAX 解析。

另一方面,Apache Tika 是内容分析工具,我猜它只支持 Microsoft Excel 和许多其他提取组件。不支持编写新文件或从 Tika 生成内容,无论如何这根本不是他们的用例。

因此,您必须根据自己的需要进行选择。

于 2013-09-19T07:01:37.993 回答