asp.net - CSV 文件到 DataTable 到 SQL Server
问题描述
我正在尝试.CSV
在 C# 应用程序中读取 2 个单独的文件并将它们批量复制到 SQL Server 中。我在网上搜索了很多,但似乎没有找到一个简单可行的解决方案。
这些文件非常大(大约 50000 行和 15-20 列)。
我正在尝试使用 CsvHelper 库来读取文件。当我尝试读取 csv 文件时,这是我收到的错误消息:“CsvHelper.TypeConversion.TypeConverterException:无法执行转换。文本:'ASPH-G' MemberType: System.Double TypeConverter:'CsvHelper.TypeConversion.双转换器'"
我该如何解决这个问题。我正在展示我的 Runway 课程,以及用于阅读下面文件的代码。我能做些什么不同的事情?
public class Runway
{
[Index(0)]
public int RunwayId { get;set; }
[Index(1)]
public int AirportId { get; set; }
[Index(7)]
public int RunwayStatus { get; set; }
[Index(8)]
public string LEId {get;set;}
[Index(9)]
[Optional]
public double? LELatitude {get; set;}
[Index(10)]
[Optional]
public double? LELongitude {get; set;}
[Index(14)]
public string HEId {get; set;}
[Index(15)]
[Optional]
public double? HELatitude {get;set;}
[Index(16)]
[Optional]
public double? HELongitude {get;set;}
public Airport Airport { get; set; }
}
读取文件的代码:
var config = new CsvHelper.Configuration.Configuration
{
HasHeaderRecord = true,
HeaderValidated = null,
MissingFieldFound = null,
IgnoreBlankLines = false
};
using (var reader = new StreamReader ("../runways.csv"))
using (var csv = new CsvReader(reader, config))
{
var runways = csv.GetRecords<Runway>().ToList();
}
如何在 CsvHelper 中使用 typeconverter 来使其正常工作?
解决方案
推荐阅读
- c# - 使用 EF CORE 运行内联 SELECT 语句
- google-apps-script - DriveApp.getFileById 的 Google Apps 脚本 API 授权
- graphql - Prisma2:如何用 Paljs 解决 n+1 问题
- azure - Azure Function : Function AutoScale 时,多次调用函数
- java - 在不同语言的进程之间有效地共享数据
- .net-core - Atlassian 管道 MSB3026 等上的 dotnet 测试错误
- excel - Excel VBA 代码不会在多个工作簿表“后面”运行:更好的方法?
- nvidia - 如何安装最新版rapids,无需指定版本号
- c# - 通过脚本生成自动新 guid 时,为什么新 guid 是一个长 0 位?
- bash - 将屏幕输出重定向到文件