F#:CSV清洁

pbwdgjma  于 2023-03-10  发布在  其他
关注(0)|答案(1)|浏览(83)

我正在尝试使用F#清理CSV数据集。例如,我想将一列中的字符串值更改为小写。我不知道将加载的数据作为CsvProvider行使用是否更好,或者我应该创建一些结构并将这些行转换为结构列表。无论哪种方式,我如何加载CSV,修改一列中的值,并再次将修改后的数据集保存为CSV?
我一直在搜索FSharp.Data文档和其他页面,但没有找到任何相关的例子。

7kjnsjlb

7kjnsjlb1#

CSV类型提供程序非常适合阅读CSV数据,但它不太容易用于数据清理和转换。为此,我建议使用Deedle data exploration library。使用Deedle,您可以轻松地完成此操作:

#r "nuget:Deedle"
open Deedle

let df = Frame.ReadCsv(@"C:\Temp\titanic.csv")
let newName = 
  df.GetColumn<string>("Name") 
  |> Series.mapValues (fun s -> s.ToLower())
df.ReplaceColumn("Name", newName)
df.SaveCsv(@"C:\Temp\titanic.csv")

相关问题