FasterXML ライブラリを使用してmy.xmlを解析していCSV file
ます。には、最初のCSV file
行に列名があります。残念ながら、列の名前を変更する必要があります。これにはラムダ関数があり、csv file
in から赤の値を渡して新しい値を取得できます。
私のコードは次のようになりますが、機能しません。
CsvSchema csvSchema =CsvSchema.emptySchema().withHeader();
ArrayList<HashMap<String, String>> result = new ArrayList<HashMap<String, String>>();
MappingIterator<HashMap<String,String>> it = new CsvMapper().reader(HashMap.class)
.with(csvSchema )
.readValues(new File(fileName));
while (it.hasNext())
result.add(it.next());
System.out.println("changing the schema columns.");
for (int i=0; i < csvSchema.size();i++) {
String name = csvSchema.column(i).getName();
String newName = getNewName(name);
csvSchema.builder().renameColumn(i, newName);
}
csvSchema.rebuild();
後で列を印刷しようとすると、それらはまだ私のCSV file
.
csvSchema.size()
さらに、それが等しいことに気づきました0
-なぜですか?