gpt4 book ai didi

f# - 在 F# 中读取 csv 数据

转载 作者:行者123 更新时间:2023-12-04 17:43:16 25 4
gpt4 key购买 nike

我是一名学生,正在努力为我的类(class)学习 F#。我自己一直在稳步前进,但我遇到了一个我无法解决问题的问题。我被分配读取数据并将数据添加到 CSV 数据库文件。我已经想出如何使用 F Sharp.Data 将数据分类为列和行,但我在弄清楚如何计算项目和搜索列表以找到我需要的数据时遇到了很多困难。我是一个视觉学习者,所以如果我能看一些通过类似的字符串和 float 列表进行排序的例子,我可能自己就能弄明白。

这是我目前的代码(对于我在这个网站上发布代码的草率,我深表歉意)

open System.IO
open System.Net
open F Sharp.Data
open System

[<Literal>]
let Template = __SOURCE_DIRECTORY__ + @"\students.txt" // Creating the directory

type Students = CsvProvider< Template > // I can format the list using FSharp.Data here

let students = Students.Load(Template)
let FirstRow = students.Rows |> Seq.head //Creating the header
let TMP = 0
let UTG = 0 //counter vars for later use

for rows in students.Rows do // Reading list correctly now have to figure out how to count elements
printfn "%A" rows.Last

//printfn "%A" TMP
//let tmp = Students.Parse //Graveyard of Trial and ERRO
//let tst = 0
//for Rows in students do
// tst = tst + 1

正如您从我的代码中看到的那样,我已将列表按列和行排序。如果有人能告诉我如何计算和搜索列表中的特定项目,将不胜感激。

我知道很多人只是把作业丢到这个网站上,然后期望人们去做,这很糟糕。如果你不自己做作业,你就不是在学习。我只是需要一些帮助来更好地理解它。

最好的问候 - 需要一杯咖啡的 CS 专业,Joe

最佳答案

对数据集合(例如您示例中的 CSV 文件的行)执行各种计数、搜索和过滤任务的最简单方法是使用内置的高阶函数进行集合处理。

一篇文章中有一个很好的概述Choosing between collection functions由 Scott Wlaschin 撰写,其中还有许多可以为您提供帮助的实际示例。

在您的示例中,您已经在使用 Seq.head,它为您提供序列中的第一项:

students.Rows |> Seq.head  

这是一个很好的开始。您可以使用 Seq 模块中提供的其他函数来做很多其他事情。如果您输入 Seq,然后输入 ,大多数编辑器会向您显示一个包含所有可用函数的自动完成列表(上面的文章记录了它们的作用)。

例如,如果您想进行计数,Seq.length 可能会有用。对于各种过滤任务,请尝试使用 Seq.filter,最后,使用 Seq.find 进行搜索。

关于f# - 在 F# 中读取 csv 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53453540/

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