scala - 如何使用 Scala 解析带有空列的 CSV 数据?

标签 scala csv

原始数据如下所示:

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

第一行有额外的空列。我解析数据如下:
val tokens = List.fromString(line, ',')

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

目前无法使用结果列表来推断哪些行具有额外的列。我该怎么做呢?

最佳答案

使用字符串拆分并传递 -1 作为第二个参数!

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, "", "", "", "")

仅供引用 List fromString 已弃用,以支持字符串拆分。

关于scala - 如何使用 Scala 解析带有空列的 CSV 数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6646370/

相关文章:

scala - for-yield-getOrElse 是典型的 Scala 还是有更好的方法?

python - 无法使用推文 [Lat-Lon] 抓取地理坐标

Python:仅将 csv 文件中的一些属性提取到 numpy 数组

java - 删除 csv 中字符串内的逗号

php - CSV 文件作为页面打开

scala - Spark 内存限制超出问题

java - 如何将 Scala 案例类和集合桥接到 Java

java - Jackson 可以解析不同行具有不同架构的 CSV 文件吗?

scala - sbt组装错误-重复数据删除: different file contents found in the following

scala - 使用新的反射API,如何找到类的主构造函数?