ホーム  > ブログ一覧  > CSV

ブログ

CSV

2019.08.28


通販サイトの運営業務の一つに商品データ編集作業が
ありまして、基本はブラウザで一商品ずつポチポチ弄って
更新します。(この管理者用編集画面はバックオフィスと
呼ばれます) 作業そのものは単純で簡単なお仕事です!
といえるのですが、なんせ数が多いので必ずどこかで
ミスが発生します。そこで大抵のウェブサービスには
データをエクスポートしてローカルPCでExcel等を使って
一気に編集、その後サーバにアップロード・インポート
できる機能が付いてます。このやりとりに使用される
データフォーマットもJSON、XML等いくつかありますが
いまだに根強く生き残る形式にCSVがあります。

 

CSVとはComma Separated Valuesの頭文字をとったもので
「abc,defg,12,”yes”」のようにデータをカンマで区切った
値の集まりです。単純なテキスト形式で保存してあります。
(あまり見かけませんがタブ文字で区切ったTSVという
ものもあります) このフォーマット「値の集まりをカンマで
区切る」という原則さえ守れば後は自由だ、みたいに
運用されることが多く、たくさんの方言があって困ります。
一応RFC4180というガイドラインみたいなのが提案はされて
いますが残念ながらかっちりした仕様書はなく、この通り
実装したとしても読み込めないデータが結構あります。

 

テキストデータなのに「バイナリの0」を含むデータや
途中に改行を含む値、改行記号がCR、LF、CRLFが
混ざったデータ等々。厄介ですがこれらはまだ読み込み
時に処理できるからいいのですが、一行目がヘッダ行
なのかデータなのかを判定する方法がないのは困ります。

 

最初にCSVを作った人はまさかこんなに使われることに
なるとは思っていなかったんだろうなと、CSV読み書き
クラスを書きながら思うのでした。

 

朝倉市は昨日から大雨です。山間部にはすでに避難勧告も
出てます。本社のある場所は現時点では特に影響は出て
いませんが、明日以降もかなり降るようで目の前に川が
流れているので心配です。

ページトップへ