• ベストアンサー

テキストファイルのデータ区切り文字(制御文字)について

racchomanの回答

  • racchoman
  • ベストアンサー率71% (20/28)
回答No.4

最強なのは、\0や\tなどの特定の文字ではありません。ある定義した方法によってエスケープすることこそが最強であり、やるべきことだと思います。 エスケープしないと、「ある文字はデータの中で決して使ってはならない」というような、uglyな約束事ができてしまいます。例えば\0を区切りにするならば、\0を含むデータは扱えなくなりますよね。カンマでもタブでも同じです。 きちんとエスケープすれば、基本的にあらゆるデータを格納できるようになります。これぞ最強。

関連するQ&A

  • エクセルでカンマ区切りのscvファイル

    エクセル97を使っています。 以前は、保存時にカンマ区切りのscvファイルとして シートを保存できたのですが、いつのまにかできなくなってしましました。 セルに数字を入れたタテ1列のデータなのですが、 scvファイルはできるのですが、カンマではなく改行になってしまいます。 (同じく、タブ区切り、スペース区切りも改行になります) これはどこかの設定がかわってしまったのでしょうか? どうすれば直せるか、ご存知の方がいらっしゃいましたらお教え下さい。

  • 区切り文字をTABにしたい

    CGI-Perl初心者です。 エントリデータを、カンマ区切りテキストデータで保存するようにしていますが、(入門書のファイル操作を参照しながら何とか作れた代物です)後で大きな問題が発生しました。このデータには金額を入れる項目があって、例えば10,000円とカンマを入れると当たり前ですが、区切り文字と判断して10と000円を分けてしまうのです。そこでTAB区切りテキストデータに変更したいのですが、 $data=join(",",変数,変数,変数,変数); としている","の部分をタブにするにはどうしたら良いのでしょうか?

    • ベストアンサー
    • Perl
  • エクセルデータをテキストファイル(カンマ区切り)に変換しアクセスへインポートしたい。

    タブ区切りは出来るのですが、アクセスにインポートが出来ません。エラーが出てしまいます。(エラー内容はフィールド名が不正です。) カンマ区切りだと以前問題なくアクセスへインポートできたので、エクセルをカンマ区切り?のテキスト形式にしたいのですが・・。 "郵便番号" "住所" ・・・・・のような

  • excelからtab区切りテキストへの変換で…。

    過去の質問を検索しましたが、無い様ですので質問させてください。 excelでためたデータベースをtab区切りテキストに変換したのですが、 できあがったtab区切りテキストをテキストエディタで開きますと、 (" ")が勝手にデータの両端についてしまうのです。 例えば(18,000)という数字データがあったとします、 それをタブ区切りテキストに書き出すと、("18,000")という風になってしまいます。 そこで、とりあえずすべてのデータの書式を文字列にしてやりますと、(18000)となってしまいますから、 文字列として(,)を追加したのですが、 やっぱりtab区切りテキストに変換すると(" ")がついてきます。 ただし、普通の文字のフィールドは大丈夫です。 (" ")を消す方法はないでしょうか? 少々わかりにくい説明ですが、何卒よろしくお願いします。 あと、追加で質問なのですが、桁数の多い数字が勝手に16進数?に変わってしまいます。 こちらの方も原因が分かりませんので教えていただければ幸いです。 ちなみに検証してみたexcelのバージョンは Win版 Excel2000 Mac版 Excel98 です。 設定は特にいじっていませんので、初期設定だと思います。 よろしくお願いします。

  • VBA(テキストファイルのデータ コピー)

    質問No.773038にて 回答No.5で 実際にやってみると 確かに動作は抜群に質問通りですが 文字化けして エクセルに貼られています。 肝心の テキストデータの保存方法が悪いのか  検討が付きません。 私個人は アプリから csv 変換用があり やっているのです。しかし エクセルにて手作業にて テキストファイルウィザードで カンマやタブの区切り・・・ 元のファイルは 932 日本語(シフト JIS) フィールドの区切りは セミコロンとしてやり セルにしてやると 確かに問題なく 文字化けしません 何故 VBAでやると 文字化けするのか 原因がわかりません。 どなたか 文字化けに出会った人はいませんか? 対応策があれば ご教授願います。

  • テキストファイルについて

    あるデータがカンマ区切りなのか、タブ区切りなのか、スペース区切りなのかはテキストファイルにしてメモ帳で開いて確認するしかないんでしょうか? 宜しくお願いします。

  • データのテキストファイル抽出

    データの抽出に困っています。 エクセルデータにてA~Lのフィールドに値が入っていて、1000レコード程のデータを ・1レコードずつ ・A列のフィールドをファイル名に ・テキストファイルに出力 ・テキストファイルには1レコードを縦に、フィールドごと改行して並べる 上記のようにして作成する必要があります。 今までは、 A B C...K L となっているデータの列と行を入れ替えて A B C . . K L としてテキストファイルを作成し、セルAのフィールドをファイル名にして、 手作業で1列ごとにコピー&ペーストして行っていました。 非常に効率が悪いので、全自動化もしくは一部自動化出来ないかと試行錯誤していますが 良い方法が見つけられません。 何か良い方法をご存知の方がおりましたら教えて下さい。

  • スペース区切りのテキストファイルをExcelで開く

    テキストファイルをExcelファイルとして読み込む必要が多いです 毎回Excelの 開く を使ってテキストファイルを開くのは面倒なので、右クリックの 送る にExcelの実行ファイルをコピーしてそこに送っています ただ、この方式だとスペース区切りで改列出来ず、タブと改行(エンターキー)のみ反映したファイルが開きます 最初からスペース区切りも列区切りにした形でテキストファイルを開く方法(Excelの 開く を使わずに)はないでしょうか

  • テキストファイルの区切りが " | " の場合

    テキストファイルの読み込みで質問したいのです。 下記のソースを書いた場合、カンマ区切りでファイルを 読み込み、変数に渡す事が出来ますが、それが"|"区切りだった場合は どのような形で書くべきでしょうか? FILE *in_file; char myName1[]; int myName2; in_file = fopen("test.dat","r"); fscanf(in_file,"%s,%d",myName1,&myName2); /*区切り文字:*/ printf("name1%s name2%d\n",myName1, myName2); fclose(in_file); 読込みたい情報に合わせて、ソースを下記のように変更しました。 fscanf(in_file,"%s|%d",myName1,&myName2); /*区切り文字:*/ テキストファイルの内容は、 ABC|123 です。 上記の条件だと、myName1に"ABC|123"となってしまいます。 カンマ区切りのソースに直して、データもカンマ区切りに直すと、 myName1=ABC myName2=123 となるのですが、"|"区切りは、初めてなのでうまく出来ないのです。

  • csvカンマ区切りデータに=""を入力したい

    csvカンマ区切りデータに、例えば、 ="00",="123",="456" といった感じで入力したいのです。 大元のcsvカンマ区切りデータで、 00,123,456 が入っているので、これをExcelを使ってText変換や書式設定で文字列にして みたのですが、csvデータとしては=""としては保存されていないのです。 どなたか、こういった型変換に詳しいかたご連絡をお待ちしています。