2011-07-11 13 views
5

ham veriler aşağıdaki gibidir:CSV verilerini boş sütunlarla ayrıştırmak için Scala'yı nasıl kullanırım?

YAPM1,20100901,23:36:01.563,Quote,,,,,,,4563,,,,,, 
YAPM1,20100901,23:36:03.745,Quote,,,,,4537,,,,,,,, 

ilk satır fazladan boş sütun var.

val tokens = List.fromString(line, ',') 

sonucu: ekstra sütunları vardı hangi satırların anlamak için Listelerinin kullanmanın bir yolu yoktur Şu anda

List(YAPM1, 20100901, 23:36:01.563, Quote, 4563) 
List(YAPM1, 20100901, 23:36:03.745, Quote, 4537) 

şöyle Verileri ayrıştırmak. Bunu nasıl yaparım?

cevap

10

Dize bölme kullanın ve -1 ikinci argüman olarak iletin!

scala> "a,b,c,d,,,,".split(",") 
res1: Array[java.lang.String] = Array(a, b, c, d) 

scala> "a,b,c,d,,,,".split(",", -1) 
res2: Array[java.lang.String] = Array(a, b, c, d, "", "", "", "") 

FYI Listesi fromString, dize bölme lehine kullanımdan kaldırılmıştır.

İlgili konular