アカウント名:
パスワード:
神 Excelと違って、楽勝だね。
"❶","12,000㌕","32.1㌫"Ⅱ,1万kg,46
全部にダブルクォート付きくらいなら、除去するだけだから楽勝だが。下手にデータの方にもダブルクォートがある場合ってどうなるんだろ。
ダブルクォートの出力方法がそもそも複数ある。ダブルクォートが2個並ぶ形式(普通はこの形式)でエスケープ。バックスラッシュ(円記号)の後ろにダブルクォートでエスケープ。ダブルクォートを単なる通常文字として扱う(この場合フィールド内に区切り文字や改行文字は入力不能)。もしかすると、ダブルクォートで括った上で区切り文字に隣接しない場合はダブルクォート一文字、区切り文字に隣接する場合はダブルクォートを一文字増やすって実装もあり得るだろうか?
二重ダブルクォートだけサポートしとけば大概は大丈夫だろうけど、もし方言含めてパースするなら当該形式で矛盾が起きない形式のうち最も一般的な方式であると推定が行えてから読み込みだねぇ……区切り文字が破壊されればフィールド数の不揃いで検知できるが、全部不揃いなパターンや破壊が起きないパターンだと確定困難。
Excelじゃないですが、とある共有のデータベースで備考欄に半角カンマを入れるユーザがいたらしくて。担当者がCSVに落として一括処理しようとしたら、失敗して困ってたのを思い出した。
郵便番号データも、かなり変則的だってことで有名でしたね。なにしろ潜在的なユーザー数が膨大なのに、設計がヒドくて涙目。「ないよりはまし」だけどさあ。
https://srad.jp/comment/2123564 [srad.jp] https://qiita.com/nanasess/items/0f0aeaa1f72f599b9142 [qiita.com]
https://qiita.com/nanasess/items/0f0aeaa1f72f599b9142 [qiita.com]
郵便番号が7桁になったとき、全国の郵便番号一覧が配られましたが、飛び地等を表現できないからか京都市内だけは地図付きでした。通常の日本の住所が街区を基準にしているのに対して、京都市内は道路を基準にしています。にもかかわらず、住所表記は日本標準の街区基準にしようとしているためで、郵便番号を作った人の苦労が偲ばれます。あと、「618-0000 大阪府三島郡島本町, 京都府乙訓郡大山崎町」の都道府県が特定できない件ですが、現地に行くと一緒で良いのではないかと思えてきます。電話番号も両方とも、京都市と同じ075ですし・・。
郵便番号が悪いのではなく、行政区分や住所表記が悪いと思います。まあ、お役所のせいではあるのですが。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
ソースを見ろ -- ある4桁UID
CSVなら任せて安心 (スコア:0)
神 Excelと違って、楽勝だね。
"❶","12,000㌕","32.1㌫"
Ⅱ,1万kg,46
全部にダブルクォート付きくらいなら、除去するだけだから楽勝だが。
下手にデータの方にもダブルクォートがある場合ってどうなるんだろ。
Re: (スコア:0)
ダブルクォートの出力方法がそもそも複数ある。
ダブルクォートが2個並ぶ形式(普通はこの形式)でエスケープ。
バックスラッシュ(円記号)の後ろにダブルクォートでエスケープ。
ダブルクォートを単なる通常文字として扱う(この場合フィールド内に区切り文字や改行文字は入力不能)。
もしかすると、ダブルクォートで括った上で区切り文字に隣接しない場合はダブルクォート一文字、
区切り文字に隣接する場合はダブルクォートを一文字増やすって実装もあり得るだろうか?
二重ダブルクォートだけサポートしとけば大概は大丈夫だろうけど、
もし方言含めてパースするなら当該形式で矛盾が起きない形式のうち
最も一般的な方式であると推定が行えてから読み込みだねぇ……
区切り文字が破壊されればフィールド数の不揃いで検知できるが、
全部不揃いなパターンや破壊が起きないパターンだと確定困難。
Re: (スコア:1)
Excelじゃないですが、とある共有のデータベースで備考欄に半角カンマを入れるユーザがいたらしくて。
担当者がCSVに落として一括処理しようとしたら、失敗して困ってたのを思い出した。
Re: (スコア:0)
郵便番号データも、かなり変則的だってことで有名でしたね。
なにしろ潜在的なユーザー数が膨大なのに、設計がヒドくて涙目。
「ないよりはまし」だけどさあ。
https://srad.jp/comment/2123564 [srad.jp]
https://qiita.com/nanasess/items/0f0aeaa1f72f599b9142 [qiita.com]
Re:CSVなら任せて安心 (スコア:3)
https://qiita.com/nanasess/items/0f0aeaa1f72f599b9142 [qiita.com]
郵便番号が7桁になったとき、全国の郵便番号一覧が配られましたが、飛び地等を表現できないからか京都市内だけは地図付きでした。通常の日本の住所が街区を基準にしているのに対して、京都市内は道路を基準にしています。にもかかわらず、住所表記は日本標準の街区基準にしようとしているためで、郵便番号を作った人の苦労が偲ばれます。
あと、「618-0000 大阪府三島郡島本町, 京都府乙訓郡大山崎町」の都道府県が特定できない件ですが、現地に行くと一緒で良いのではないかと思えてきます。電話番号も両方とも、京都市と同じ075ですし・・。
郵便番号が悪いのではなく、行政区分や住所表記が悪いと思います。まあ、お役所のせいではあるのですが。