初めに
CSVを読み取って処理するのによくお世話になるCSVHelper
でも動作テストしてもらってたら
このファイルを読み込むとエラーになるんよね。と。
***めんどくせぇなぁ・・・・・***と思いつつ、対象のファイルをもらってテスト。
番号,名称1,名称2,名称3,備考
1,hoehoe1,hoehoe2,hoehoe3,ugauga
:
:
# 数千行
:
:
9811,hoehoe1,hoehoe2[EOF]
(実際のカラム数は90を超えます)
・・・・・・・・・・・はぁぁ??
カラム数が異なる行あるんだけど??
いや・・・中見たらわかるやん。それ。
読み込みに使うメソッド
悔しいので実装したコードを備忘録として。
private DataTable CsvToDataTable(string fileName)
{
try
{
var dataTable = new DataTable();
using (StreamReader streamReader = new StreamReader(fileName, Encoding.GetEncoding("SHIFT-JIS")))
{
using (CsvReader csvReader = new CsvReader(streamReader, CultureInfo.InvariantCulture, false))
{
using (CsvDataReader csvDataReader = new CsvDataReader(csvReader))
{
dataTable.Load(csvDataReader);
}
}
}
return dataTable;
}
catch (Exception)
{
throw;
}
}
追伸
さらにテストすると、途中の文字列にカンマがある…
CSVファイルてゆうたやん?