gpt4 book ai didi

scala - 如何将 csv 文件读取为键值对的映射

转载 作者:行者123 更新时间:2023-12-02 17:10:46 25 4
gpt4 key购买 nike

我在 csv 文件中有数据,例如:

value,key
A,Name
B,Name
C,Name
24,Age
25,Age
20,Age
M,Gender
F,Gender

我想解析它以生成以下 map :

Map(Name -> List(A, B, C), Age -> List(24,25,20), Gender -> List(M,F))

最佳答案

这里有一个可能性:

import scala.io.Source

Source.fromFile("my/path")
.getLines()
.drop(1) // Drop the header (first line)
.map(_.split(",")) // Split by ",": List(Array(A, Name), Array(B, Name), Array(C, Name), ...
.groupBy(_(1)) // group by value: Map(Age -> List(Array(24, Age), Array(25, Age), Array(20, Age)), ...
.map{ case (key, values) => (key, values.map(_(0))) } // final format: Map(Age -> List(24, 25, 20), ...

给出:

Map(Age -> List(24, 25, 20), Name -> List(A, B, C), Gender -> List(M, F))

关于scala - 如何将 csv 文件读取为键值对的映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49388623/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com