我有一个我从C#调用的F#库,它读取JSON输出和CSV文件。该库处理数据。
将CSV文件读取到数据表时,我可以像这样迭代标题行:
let myfile=FSharp.Data.CsvFile.Load(inFile)
let headers=[| myfile.Headers.Value |]
headers.[0]
|>Seq.iter(fun y-> dataTable.Columns.Add(new DataColumn(y)))
我想要做的是在文件不包含标头的情况下从C#传入一个以管道分隔的字符串作为参数(hdrString)。例如“Col1中| col2的| COL3”。我打算使用匹配来确定字符串是否为空,然后通过拆分字符串恢复到文件头。但是,我似乎无法将字符串(hdrString.split ['|'])成功分割为字符串数组(string [] [])。我试过拆分,但它给了我一个错误,基本上,我不能将字符串转换为obj。我也试过hdrString.ToCharArray()但是char []与string []不兼容。关于我如何做到这一点的任何建议?
答案 0 :(得分:1)
在您的示例中,您说您尝试了hdrString.split [ '|' ]
,其中[ '|' ]
表示字符列表,而不是字符数组。请尝试改为:
let hdrString = "Col1|Col2|Col3"
hdrString.Split [| '|' |]
可能它是一个错字,但.split
是.Split
(有大写字母S)。