【问题标题】:Handle empty files in CsvHelper处理 CsvHelper 中的空文件
【发布时间】:2016-09-09 19:17:32
【问题描述】:

我们正在使用 CsvReader 从数百个 CSV 文件中提取数据。有时,我们会收到一个空文件。如果我打电话给Read()ReadHeader(),我最终会遇到异常。我认为ReadHeader() 应该只返回false,但我想知道我是否遗漏了什么。

有没有办法更优雅地处理这个问题(即不抛出异常)?

【问题讨论】:

    标签: csvhelper


    【解决方案1】:

    例外是No header record was found,如here 所述。处理文件前检查Stream.Length,如果为0则不处理。

    【讨论】:

    • Azure Data Lake 不允许使用 Stream.Length。结果是NotSupportedException。但是鉴于ReadHeader返回一个布尔值,奇怪的是它只是抛出一个异常而不是返回false。
    • 这很不幸。如果文件只包含标题和换行符(我的情况)怎么办? Read() 甚至 ReadHeader() throw 即使标题确实存在
    猜你喜欢
    • 2022-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多