30日間にわたって特定の在庫のパフォーマンスを見ています。私はCSVファイルとして表示されるYahoo financeからデータをダウンロードしました。私のデータセットに新しい列を作成して、オープンとクローズ間の毎日のパーセント変化をjava refer to column H as where the output should appearを使用して表示するにはどうすればよいですか?新しいCSVファイルをjavaで作成して新しい列を追加する
ありがとうございます!
30日間にわたって特定の在庫のパフォーマンスを見ています。私はCSVファイルとして表示されるYahoo financeからデータをダウンロードしました。私のデータセットに新しい列を作成して、オープンとクローズ間の毎日のパーセント変化をjava refer to column H as where the output should appearを使用して表示するにはどうすればよいですか?新しいCSVファイルをjavaで作成して新しい列を追加する
ありがとうございます!
ファイルを行単位で編集し、concat()機能を使用して区切り文字を追加するだけで済みます。
ファイルをFileReader or BufferedReaderで開き、解析を開始します。
公式のJavadoc:https://docs.oracle.com/javase/7/docs/api/java/lang/String.html#concat(java.lang.String)
thisも参照してください。 OpenCSVで
:http://opencsv.sourceforge.net/
public class OpenCSVTest {
public static void main(String[] args) {
StringWriter target = new StringWriter();
try(CSVReader reader = new CSVReader(new StringReader("my,test"));
CSVWriter writer = new CSVWriter(target);) {
for(String[] line : reader) {
String[] added = Arrays.copyOf(line, line.length + 1);
added[added.length-1] = "addition";
writer.writeNext(added);
}
} catch (IOException e) {
e.printStackTrace();
}
System.out.println(target.toString());
}
}
あなたの入力と出力とStringReader
とStringWriter
を置き換えることができます。読者はあなたのCSVの各行を繰り返し処理します。元の行のコピーを作成し、新しい列を追加してターゲットに書き込むことができます。コードの
内訳は:
try(CSVReader reader = new CSVReader(new StringReader("my,test"));
CSVWriter writer = new CSVWriter(target);) { ... }
これは、try-と、リソースブロックです。完了後、リーダーとライターが閉じていることを確認します。
for(String[] line : reader) {
String[] added = Arrays.copyOf(line, line.length + 1);
added[added.length-1] = "addition";
writer.writeNext(added);
}
これはループの標準です。 CSVReaderはIterable
インターフェイスを実装しているため、forループで直接使用できます。
Arrays.copyOf(line, line.length + 1);
は、渡された配列のコピーを新しいサイズで作成する関数です。列を追加したいので、元の配列my,test
のコピーを作成し、最後にもう1つスペースを追加します。次に、新しい値を割り当てることができます。added[added.length-1] = "addition";
最後に、作者にそれを渡します。それはターゲットに正しく値を書き込みます。この場合はStringWriter
、場合によってはファイルになります。
"CSVファイルを作成するにはどうすればいいですか"を意味しますか? –