【问题标题】:CsvProvider with semicolon separator and predefined schema带有分号分隔符和预定义架构的 CsvProvider
【发布时间】:2013-12-30 13:23:50
【问题描述】:

我想使用 FSharp.Data.CsvProvider (v1.1.10) 创建一个类型来处理带有“;”的 CSV 文件分隔符和预定义的架构。

下面一行报错:

type CsvType1 = CsvProvider<Sample="1;2;3", Separator=";", Schema="category (string), id (string), timestamp (string)">

错误是:

指定的参数既不是文件,也不是格式正确的 CSV:找不到文件 '...\1;2;3'。

将 Sample 设置为 ""、null 或根本不设置它会产生其他错误。

使用“,”分隔符和“1,2,3”示例可以正常工作..但这无法读取我的 csv 文件。

我做错了什么?

【问题讨论】:

  • 好像是个bug,我去看看。无论如何,如果你完全指定了 Schema,你就不需要指定一个 Sample

标签: f# f#-data


【解决方案1】:

这是 FSharp.Data(在 2.0.0-alpha3 中修复)中的一个错误,它认为 1;2;3 是一个文件并且不会尝试将其解析为 CSV sn-p,但您可以改用以下内容这将起作用:

CsvProvider<Sample="category (string); id (string); timestamp (string)", Separator=";">

【讨论】:

    【解决方案2】:

    看起来像是 CSV 提供程序中的一个错误:文本解析器不支持示例文本的自定义分隔符。

    , 不允许出现在 CSV 文件 URI 中,1,2,3 被正确地视为文本样本。 ; 是允许的,1;2;3 被视为文件名。

    【讨论】:

      猜你喜欢
      • 2017-03-21
      • 1970-01-01
      • 2017-07-15
      • 2018-10-02
      • 2017-06-13
      • 2019-02-22
      • 2014-09-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多