groovy / java'da csv'den sütun kaldır
Aug 18 2020
Verileri veritabanından almak ve iyi çalışan CSV oluşturmak için Seç sorgusunu kullanıyorum.
FData
Sınıfımda, csv'de hücre değeri için biçimlendirme yaptığım aşağıdaki yönteme sahibim . Ben sütuna sahip ATYPE
i csv yazmak istiyorum daha dont ya da sadece tam sütun temizlemek yazdıktan sonra olabilir benim seçme sorguda ATYPE
o gösterilebilir olamaz böylece csv den alan.
Bu mantığı yapmak için aşağıdaki yöntemde bunu yapmanın bir yolu var mı?
private static void IFile(File output, Sql sql, String query, List<String> columns) {
output.withWriter { writer ->
writer.writeLine(columns.join(CSV_SEPARATOR))
sql.eachRow(query) { rec ->
try {
writer.writeLine(columns.collect { columnName ->
def cell = rec[columnName]
// cell data processing for CSV output...If cell is empty then replace with "" else do the other formating
if (cell != null) {
if (cell.properties["class"] == Timestamp.class)
return IData.OUT_DATE_FORMAT.format(cell)
}
else {
return ""
}
return cell
}.join(CSV_SEPARATOR))
} }
sql.close()
}
}
Yanıtlar
1 LiveandLetLive Aug 19 2020 at 08:36
Aşağıda verilen kodda, tam sözdizimi yanlış olabilir (sadece harika bir başlangıç düzeyinde bilgim var) ancak nasıl çözüleceğine dair bir fikir edineceksiniz:
İe'ye katılmadan önce sütun adlarını filtreleyin
writer.writeLine(columns.findAll({ it != 'ATYPE'}).join(CSV_SEPARATOR))
İe yazmadan önce verileri filtreleyin
writer.writeLine(columns.findAll({ it != 'ATYPE'}).collect { columnName -> //... }
Donovan, Şarkılarından 1'ini The Beatles'ın "Lucy in the Sky with Diamonds" şarkısıyla karşılaştırdı
Gene Simmons, KISS Çizgi Romanlarının Potansiyel Olarak "İnsanlığı Yeniden Yaratabileceğini" Söyledi
Kevin Jonas'ın Kızı Alena, Doğum Günü Fotoğrafında Büyümüş Görünüyor: '9 Yaşında Gerçek Hissetmiyor'
Tom Girardi Dolandırıcılık Suçlamalarından Yargılanma Yetkisinin Belirlenmesi İçin Duruşmaya Katıldı