[865] CSV なのに 水平タブ(Horizontal Tabulation)がフィールドセパレータとして扱われてしまう
わきた [2024/10/24 13:50:43]
拡張子「CSV」のテキストファイル(=CSVファイル)のなかに、フィールドの値として水平タブ(Horizontal Tabulation)コードが含まれる文字列が含まれていると、Cassava でその水平タブがフィールドセパレータと扱われてしまい、セルが右にずれる。
ちなみに、水平タブを含むフィールドはダブルクォートされている。
Re: [865] CSV なのに 水平タブ(Horizontal Tabulation)がフィールドセパレータとして扱われてしまう
あすかぜ [2024/10/24 21:42:33]
書き込みありがとうございます。
ご指摘の通り、拡張子が CSV でもタブ文字はセルの区切りとして扱われるようになっています。
次の手順でタブ文字でセルを区切らないように変更できます。
1. [オプション(O)]-[オプション(O)...] メニューでオプションダイアログを開く
2. 左側のツリーで「CSV」を選択する
3. 右側の「ロード時区切り文字リスト」が「\t」となっているのを削除する
4. 「OK」ボタンをクリックする
タブ文字でセルを区切るのは CSV として正しい解釈ではないので、Cassava Editor の初期設定を変えるべきなのかもしれません。
ただし、ダブルクォートでセルが囲まれている場合は、カンマやタブがあってもセルが区切られることはないはずです。
もしセルが "" で区切られていても水平タブでセルが区切られてしまうようでしたら、
問題が発生する CSV ファイルと Cassava Editor の設定ファイル(Cassava.ini)を mail@asukaze.net まで送っていただけると助かります。
よろしくお願いします。
Re: [865] CSV なのに 水平タブ(Horizontal Tabulation)がフィールドセパレータとして扱われてしまう
わきた [2024/10/25 09:48:56]
オプション設定により回避できることを確認しました。
また、お詫びになりますが、「水平タブを含むフィールドはダブルクォートされている」と書いたのは誤りで、調べたところクォートされていませんでした。ご心配をお掛けしました。
これをクォートしたところ、オプション設定が以前のままでも、フィールドずれが起きないことを確認しました。
迅速なご回答に感謝します。
Re: [865] CSV なのに 水平タブ(Horizontal Tabulation)がフィールドセパレータとして扱われてしまう
あすかぜ [2024/10/25 22:04:50]
設定の変更で解決できたようでよかったです。
クォートもきちんと動いていたようで安心しました。
CSV の区切り文字の初期設定に関しては今後もう少し検討したいと思います。
この設定は Ctrl+V での貼り付けの動作にも影響するので、もし初期設定を変更する場合には
[形式を選択して貼り付け]-[TSV] を今より簡単に実行できるようにするような変更もセットで考えたいと思います。