0

CSV ファイルの特定の行にアクセスして、特定のフィールドを置き換えることはできますか? たとえば、この擬似コードのように:

Row row = csvFile.getRow(123);
row.getField(2).set("someString");

Apache Commons CSVOpenCSVを試しましたが、それらをどのように使用するかわかりません。私が考えることができる唯一の方法は、ファイルを反復処理し、すべてを新しいオブジェクトに保存してファイルを作成することですが、それは良い方法とは思えません。

ご提案ありがとうございます。

4

1 に答える 1

1

私にはこれの複製のように聞こえます。

私はApacheでそれを行う方法についてはわかりませんが、同じメカニズムを持っていると確信しています. openCSV では、ソース ファイルに CSVReader を作成し、宛先ファイルに CSVWriter を作成します。次に、一度にレコードを読み取り、必要な変更を加えて書き出します。

または、ファイルが小さい場合は、readAll と writeAll を実行できます。

ただし、すべてを同じファイルで実行したい場合は、私のコメントを重複して読んでください。

于 2015-11-11T03:37:39.533 に答える