5
因此,假設我有一個包含列Population和Profit的標題的CSV文件,我希望在F#交互式中使用它。我有以下代碼:CSV類型提供程序無法在F#交互式中找到列
#r "../packages/FSharp.Data.1.1.10/lib/net40/FSharp.Data.dll"
open FSharp.Data
// load csv header
let cities = new CsvProvider<"cities.csv">()
// how to reach data
let firstRow = cities.Data |> Seq.head
let firstPopulation = firstRow.Population
let firstProfit = firstRow.Profit
我從F#互動的錯誤:
錯誤FS0039:沒有定義
這似乎領域,構造或成員 '人口'讓我感到困惑,因爲VS中的intellisense通過CSV類型的提供者從我的數據中提取這一列沒有任何問題。
此外,我試圖創建一個程序與相同類型的提供程序,它都可以正常工作。像這樣:
open FSharp.Data
[<EntryPoint>]
let main argv =
use file = System.IO.File.CreateText("result.txt")
let csv = new CsvProvider<"cities.csv">()
for record in csv.Data do
fprintfn file "%A" record.Population
0
我是否錯過了什麼?謝謝你的回答。
你可以嘗試使用完整路徑CSV文件? (有時F#Interactive會對路徑感到困惑......) –
這很奇怪。你確定你已經發送了所有的行到fsi?我只是嘗試了一些類似的工作。你使用什麼版本的VS? –
如果路徑存在問題,則會給出明確的錯誤,除非通過更改,在其他地方沒有cities.csv而沒有該人口列 –