Listデータ を CSVファイル へ書き込むサンプルコードを作成しました。
読み込みがあるから書き込みもと思って作りましたが、単純に実装しています。
CSVフォーマットの仕様に関してはざっくりと CSVフォーマット の 仕様 に記載しました。
目次
サンプルコード
使用例
10月 2014年
C# で CSVファイル を List データ に 読み込む 方法
CSVファイル または 文字列 を List 配列 に読み取るコードを作成する必要があったので、サンプルコードを作成しました。
ちまたのサイトでは カンマ(,) でスプリットするものが多く、ダブルクォート(")、改行(\r\n)、エスケープ文字もきちんと判別、読み取るものがみあたらなかったので、細かいとこまでできるものを実装してみました。
ファイルの読み込みもすべて最初に一括実行するのではなく、逐次実行するよう実装しました。
おそらく大きなファイルでも止まらずに実行できる ハズ …と、信じています(試していないのでわからない…)。
最悪、非同期メソッドを実装してあるので、そちらを利用するとなんとか回避できると思います。
CSVフォーマットの仕様に関してはざっくりと CSVフォーマット の 仕様 に記載しました。
単体テスト含めた全体コードは Github garafu/sa ...
Akinari Tsugo
22:48
C#
CSVフォーマット の 仕様
CSVフォーマットの読み書きが必要になってきたので、まずはその仕様について調べてまとめてみました。
CSVフォーマットの仕様は、ざっくりと書くと以下のようになるようです。
CSVフォーマット
それぞれのレコードは改行コード(CRLF)で区切られます。
最終レコードは改行コード(CRLF)があったり、なかったりします。
最初の1行にヘッダー行を記述することができます。ヘッダーはフィールドと一致する名前を定義し、数がフィールドの数と一致しています。
ヘッダーとそれぞれのレコードにおいて、1つ以上のフィールドが存在し、カンマで区切られます。
フィールドはダブルクォートで囲んでもよいし、囲まなくてもよい。
フィールドに改行コード(CRLF)、ダブルクォート、カンマを含む場合、ダブルクォートで囲みます。
ダブルクォートがフィールドに含まれる場合、ダブル ...
Akinari Tsugo
22:10
マニュアル