NuGetパッケージマネージャーからインストールできるCSVアクセス用ライブラリ。
手作りするよりいいかと思って利用してみたけど、なんやと手間取った・・・。
マニュアル(英語)
とりあえずサンプル
読み込み
HasHeaderRecordをfalseにしないと、一番上の行を読み飛ばしちゃう
List<string> seenUids = new List<string>(); // 読込stringリスト // 保存しているstringを読込 string filename = "seenUids.csv"; FileStream rfs = new FileStream(filename, FileMode.OpenOrCreate, FileAccess.ReadWrite); try { Encoding enc = Encoding.GetEncoding("Shift_JIS"); StreamReader reader = new StreamReader(rfs, enc); CsvHelper.CsvReader csvhelper = new CsvHelper.CsvReader(reader); csvhelper.Configuration.HasHeaderRecord = false; while (csvhelper.Read()) { seenUids.Add(csvhelper.GetField<string>(0)); } reader.Close(); } catch (Exception ex) { } finally { rfs.Close(); }
書き込み
// 保存しているstringを書き込み FileStream wfs = new FileStream(filename, FileMode.Truncate, FileAccess.Write); try { StreamWriter writer = new StreamWriter(wfs); CsvHelper.CsvWriter csvhelper = new CsvHelper.CsvWriter(writer); foreach (string item in seenUids) { csvhelper.WriteField(item); csvhelper.NextRecord(); } writer.Close(); } catch (Exception ex) { } finally { wfs.Close(); }