You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用FSharp.Data实现无临时文件的美联储资产数据CSV读取?

使用FSharp.Data替代CsvHelper处理美联储WALCL数据

实现方案

1. 安装依赖

先将FSharp.Data包添加到项目中:

dotnet add package FSharp.Data

2. 核心代码实现

open FSharp.Data

// 定义目标记录类型
type WALCLRecord = { DATE : string; WALCL : float }

let fetchAndParseWalclData () =
    // 美联储WALCL系列的公开CSV数据源
    let csvSource = "https://fred.stlouisfed.org/graph/fredgraph.csv?id=WALCL"
    
    // 通过内联Schema初始化CsvProvider,无需依赖本地示例文件
    type WalclCsv = CsvProvider<Schema="DATE (string), WALCL (float)", HasHeaders=true>
    
    // 加载远程CSV数据并映射到自定义记录类型
    WalclCsv.Load(csvSource)
    |> Seq.map (fun row -> { DATE = row.DATE; WALCL = row.WALCL })
    |> Seq.toList

// 测试示例:打印前5条数据
fetchAndParseWalclData ()
|> List.take 5
|> List.iter (fun record -> printfn "日期: %s | WALCL: %.2f" record.DATE record.WALCL)

关键说明

  • 规避临时文件依赖:通过CsvProvider的Schema参数直接定义列名与类型,完全不需要本地示例文件或临时存储。
  • 原生适配F#记录:CsvProvider可以无缝将CSV行映射到F#记录类型,无需额外配置映射规则,比CsvHelper对记录的支持更自然。
  • 直接拉取远程数据:从美联储公开的CSV接口直接加载数据,流程简洁无中间环节。

内容的提问来源于stack exchange,提问作者dharmatech

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 10:20:10