1

私はいくつかの一般的なテキストを読む必要があるプロジェクトに取り組んでいます...私は一般的なテキストを読むことができ、それを.csvファイルに変換することもできるので、任意のAPIを探しています... Windows OS 上の Java...

- - - - - - - - - - - - - もっと詳しく - - - - - - - - - - - -------------------------------------------------- --------------- 明確にさせてください:

私はpdf文書を持っていると仮定します。Print to Generic text printer オプションを使用して、その形式のファイルを取得する予定です。最後に、この Generic Text Format ファイルをプログラムで読み取れるようにする API を使用する予定です。この汎用テキスト ファイルからテキストを抽出するつもりです。

したがって、どのファイル (.doc/.pdf/.xls など) でも、印刷オプションを使用して Generic Text Format ファイルを作成するつもりです。次に、コードを実行してそれらのファイルを読み取り、いくつかの情報を抽出します。

PS: 標準フィールドを含むステータス レポート フォームがあるとします。Ok。ただし、.pdf で提出する人もいれば、.doc で提出する人も、テキスト形式で提出する人もいます。ただし、すべてのドキュメントには同じフィールドが含まれていますが、おそらくレイアウトが異なります。

今、私は汎用的なソリューションを探しています。これにより、すべてのファイルの種類を汎用のテキスト ファイル形式に変換し、いくつかのロジックを適用してステータス レポート フィールドを抽出することができます。

4

4 に答える 4

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]);
        }
    }
于 2009-11-27T14:04:47.003 に答える
1

CSV は、列のデータの形式です。たとえば、ウィキペディアの記事にはあまり役に立ちません。

Apache Tika ライブラリーはあらゆる種類のデータを取得し、それを単純な XML に変換します。この XML から、好きなように CSV を作成できます。

質問を編集して「一般的な」対「生成された」ことを明確にし、データについて詳しく教えていただけると助かります。

Windows プリンタ ドライバに関しては、'print to pdf' を 'print to csv' にするつもりですか? もしそうなら、プリンター ドライバーの MSDN サンプルから始めて、これを難しい方法でコーディングする必要があると思います。

いわゆる「汎用テキスト ファイル形式」は、構造化された形式ではありません。プリンターシステムへの特定の入力に対して、そこに何が見つかるかは完全に予測できません。

于 2009-11-27T13:20:58.273 に答える
0

I/O に標準の Java クラスを使用しただけです。

BufferedWriter、ファイル、FileWriter、IOException、PrintWriter

.csv は単純なカンマ区切り値ファイルです。したがって、出力ファイルに .csv 拡張子を付けてください。

また、コンテンツをどのように分割したいかを理解する必要があります。

以下に Java の例を示します。

テキストファイルへの書き込み

ファイルから行を読み取る方法

于 2009-11-27T13:07:52.810 に答える
0

一般的な無料の本: Python でのテキスト処理

于 2009-11-27T12:36:18.967 に答える