【问题标题】:How to convert empty string to null while reading CSV records?读取CSV记录时如何将空字符串转换为null?
【发布时间】:2017-05-12 20:44:13
【问题描述】:

我正在读取 CSV 文件并根据 CSV 文件的标题动态创建数据库表。

但在读取 csv 数据并转储到相关表时出现问题。当我有一个十进制数据类型的列并且 CSV 字段包含空白因此它被视为字符串并低于错误时,问题就出现了。

错误

将参数值从字符串转换为十进制失败。

我正在使用CSV Helper 并通过类映射,也许我可以实现这一点,但我正在基于 CSV 文件动态创建结构,因此我无法定义任何固定类。

这是我发现的 1 个答案,对于类映射可能会有所帮助:Using CsvHelper can I translate white space to a nullable?

样本记录 :

当 sqlbulk copy 尝试将这些数据转储到 SQL Server 数据库表中时会出现问题。

【问题讨论】:

    标签: c# .net csv csvhelper


    【解决方案1】:

    我认为您可能需要进行列映射。如果您使用的是 SqlBulkCopy,您可以使用这篇文章中描述的一些内容:

    Mapping columns in a DataTable to a SQL table with SqlBulkCopy

    【讨论】:

    • 我已经完成了列映射,当我在那些空白记录中插入数据时,我没有收到任何错误
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-08
    • 2020-06-20
    • 1970-01-01
    • 2021-09-03
    • 1970-01-01
    相关资源
    最近更新 更多