我正在开发一个项目,我需要阅读一些通用文本...我正在寻找任何api,我可以阅读通用文本,也可以将其转换为.csv文件... 任何人都可以帮助...... 在windows os上使用java ...
-------------------------- MORE Detail ------------------- -------------------------------------------------- ------------------ 让我澄清一下:
假设我有一个pdf文档或任何文件类型文档。我打算使用Print to Generic文本打印机选项并以该格式获取文件。最后,我打算使用一些API,使我能够以编程方式读取此通用文本格式文件。我打算从这个通用文本文件中提取文本。
所以,无论是任何文件(.doc / .pdf / .xls等wtatever),我打算使用print选项创建一个通用文本格式文件。然后运行我的代码来读取这些文件并提取一些信息。
PS:假设我有一个带有标准字段的状态报告表。好。但是,有些人可能会使用.pdf提交,有些人提交.doc,有些提交文本格式。但是,每个文档都包含相同的字段,但可能具有不同的布局。
现在,我正在寻找一个通用的解决方案,通过它我可以将每个文件类型转换为通用文本文件格式,然后应用一些逻辑来提取我的状态报告字段。
答案 0 :(得分:1)
CSV是列中数据的格式。例如,这对维基百科的文章来说并不是很有用。
Apache Tika库将获取各种数据并将其转换为简洁的XML,您可以根据自己的喜好制作CSV。
如果你想编辑你的问题以澄清'通用'与'生成',并告诉更多有关数据的信息,将会有所帮助。
对于Windows打印机驱动程序,您是否希望将“print to pdf”作为“print to csv”?如果是这样,我怀疑你需要从打印机驱动程序的MSDN样本开始并以此方式编写代码。
所谓的“通用文本文件格式”不是结构化格式。对于任何给定的打印机系统输入,你会发现它是完全不可预测的。
答案 1 :(得分:1)
在Java中,这或多或少是您阅读文本文件所需要的,假设它以逗号分隔(如果您需要其他内容,只需更改“line.split”方法中的字符串)。它也会跳过标题。
public void parse(String filename) throws IOException {
File file = new File(filename);
FileInputStream fis = new FileInputStream(file);
InputStreamReader isr = new InputStreamReader(fis);
BufferedReader br = new BufferedReader(isr);
String line;
int header = 1;
while ((line = br.readLine()) != null) {
if (header == 1) {
header = 2;
continue; // skips header
}
String[] splitter = line.split(",");
// do whatever
System.out.println(splitter[0]);
}
}
答案 2 :(得分:0)
通用免费图书:Text Processing in Python
答案 3 :(得分:0)
刚刚使用标准Java类进行I / O:
BufferedWriter,File,FileWriter,IOException,PrintWriter
.csv只是一个comma-separated values file。因此,只需使用.csv扩展名命名输出文件。
您还需要弄清楚如何拆分内容。
以下是Java示例,以帮助您: