• 締切済み

CSVファイルに書式ってあるんですか?

CSVファイルに関して質問があります。 ある数値のデータがあるEXCELファイル((1)とします)をCSV形式で保存します。 そのCSVファイルのアイコンをクリックすると、当然EXCELで開くことができます((2)とします)が、その時に、EXCEL(1)で設定した書式によって、EXCEL(2)で表示されるものが変わるという現象が起きてます。 具体的に言うと、EXCEL(1)で桁区切りをつけた書式を設定すると、EXCEL(2)でも桁区切りが表示され、EXCEL(1)で桁区切りをつけないとEXCEL(2)でも表示されないという状態です。 質問は以下の2つです。 1.「CSVファイルは書式を持たない」というような認識を持っていたのですが、それは違うのでしょうか? 2.EXCEL(1)の書式は違っても、EXCEL(2)で表示されるものを同じものにするにはどうすればよいのでしょうか? 詳しい方どなたか教えてください。

みんなの回答

回答No.3

CSV形式というのは、過去の汎用コンピューターの名残みたいなものです。 エクセルのデーターを行毎のセルごとに”,”区切りします。行の最後に終了の記号が入ります(目には見えません) 更に厄介なのは、1行に10個のセルがあり、8個しかデーターが無い場合は8個しかデーターは保存されないことがあります。 したがって、数行をCSVで保存する場合は最後の行に”END”を全て入れるとこの問題を解決できます。 又はデーターの無い所にダミーで”0”や"NO”を入れて全行の列数(各行のデーター数)をあわせるとこの問題は解決します。 また、CSVファイルは昔はテキストデーターと言われていました。フォトラン、コボル、BASIC、PERL等のファイルでも読み込めるのが特徴です。 データー形式はメモパッドで開いてみてください、どうなっているか良くわかります。 ””で文字が囲まれていることはありません、あくまでも”,”です、従って2,000は2,0,となってしまいます、CSVで保存するときは、文字の桁区切りを外してください。 これを防ぐのはテキスト形式(拡張子.txt)ですがこれもうまくやらないとデーターが下に正確に戻らないことがあります。試しにご自分で色々試して下さい。

  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.2

Excelでそのまま開くと、Excelは「開くとき」に形式を変更しちゃいます。 具体的に言うと、前ゼロ付の数値は数値に変更してしまうなど。 拡張子をTxtに変えて、テキストウィザードを起動させて文字列で開くか、Excel以外のエディタで開くか。

  • macchan1
  • ベストアンサー率38% (52/136)
回答No.1

1)csvファイルは基本的に書式を持っていません。 カンマが入っている数値は、例えばcsvファイルの区切り文字であるカンマと区別するために、「"」ではさんで以下のように保存されてします。 "1,234,567"のように文字列の引用符がついています。 この文字列がエクセルに読み込まれると、エクセルが自動的にセルの書式を数値などに変更します。 この書式の自動変更は「平成17年2月3日」などの日付の場合も同じです。 2)「データ」「外部データの取り込み」「テキストファイルのインポート」でファイルの種類を「すべて」にしてcsvファイルを開いてください。 自動で変更してしまう列については、テキストファイルウィザードで各列の書式を「標準」以外で取り込みます。

関連するQ&A

  • ExcelファイルをCSVに変換した場合

    たとえばセルの書式設定でA列の数値「100」を「0100」と4桁で表示させExcelファイルをCSVに変換した場合、書式設定が反映できない為 「100」に戻ってしまうのですが、4桁を保持したい場合どうすればよいでしょうか?書式設定ではなく関数が分かれば書式を文字列に変換してからCSV形式に変換できるのですが...

  • CSVファイルの扱い

    教えてください。 CSVファイルをExcelで開く時の問題点です。CSVファイルの中に「00050」と言うような文字列が存在しています。ところがExcelでこれを開くと数値と認識してしまい、「50」と表示されてしまいます。これをExcelのセルのプロパティ等でセルの書式を文字列としても既にExcelにインポートされてしまったデータは「50」としか表示がされません。 「00050」として表示するための何か方法はないのでしょうか? みなさんよろしくお願いします。

  • CSVデータの数値の表示

    教えて下さい。 他プログラムからCSVデータ出力したデータを エクセルで表示すると、13桁の数字が9E+12と表示されて しまいます。 セルの書式設定を「数値」に変更すると一時的に数字が表示されるのですが、一度保存して、再度ファイルを開くと戻ってしまいます。 エクセル形式で保存すれば大丈夫なのですが、どうしてもCSVファイルのままで保存したいのです。 CSVデータで13桁の数字を常に表示する方法を教えて下さい。 よろしくお願いします。

  • Excel、csvファイルの変換でトラブル?

    操作方法の間違いもあったかもしれませんが。 Excel、*****.xls で作成した数字データ、 具体的には、9991234567890 という、13桁の数字なのですが、 これをcsv形式のブックに数値のみコピー&ペーストをしました。 その後、csv側で、そのセルに対して、セルの書式設定→表示形式→分類を[数値]にして保存しました。 ところが、しばらくしてからそのcsvを開くと、9990000000000 というデータに変わっていました。 13桁の数字はほかにも頭3桁がさまざまな値のものがあり、すべて後ろ9桁が0000000000になっていました。 csvでデータ化したのが今回が初めてでしたので、何か操作ミスも考えられるのですが、なぜこのようになったのか教えてください。 データの訂正はとりあえず終了したのですが、数千件のデータがこのようになってしまい、本当に困ってしまいました。

  • CSV出力について

    csvファイルについて質問です。 新しく購入したパソコンでCSVファイルを作成しようとしたら メモ形式でしか表示されません>< 過去に使用していたパソコンでは拡張子をCSVにするだけで カンマ区切りのデータはダブルクリックして開いたら自動的にCSVファイルとして表示されていました。 現状は右クリックでプログラムから開くでエクセルを選ばないといけません。 自動で認識してくれるようにするにはどこで設定したらいいですか?

  • CSVファイルをExcelで開く!

    皆さんこんにちわ 標題のように、ExcelにてCSVファイルを開いた場合、「0001」(CSV側)というデータは、0が削られ「1」(Excel側)へと変換されてしまいます。 Excelで開いた際に、はじめから0001の状態で(後でセルの書式設定でいじるのではなく・・・)表示したいのですが、どうしたら宜しいでしょうか? この質問の背景: 駆け出しSEです。 プログラムの経験はあるのですが、Excelについてはちんぷんかんぷんです。 上司と上記の現象の解決策を練っていたのですが、二人ともExcelに疎く、「VBで書くしかないんじゃない?」 とかなってきました。。。 ほんとに他の解決策がないのかをお尋ねしたいのです! よろしくお願い致します。

  • Excel2007の桁区切りスタイルに関する質問です。

    Excel2007の桁区切りスタイルに関する質問です。 数値を入れて、桁区切りスタイルにすると、書式形式が通貨となります。 たとえば、1200本とか、2350個をあらわす数値データでも、桁区切りをいれると表示形式は通貨と表示されます。 桁区切りをする数値って、通貨だけではないと思うのですが、なぜ、通貨と限定するのでしょうか。 初心者なのでつまらない質問をしているかもしれませんが、疑問なのでどなたか教えてくださいますか。

  • 桁区切りの方法について。

    “ピポットテーブルフィールド”内の数値に桁区切りを付ける場合 “ピボットテーブルフィールド”の“表示形式”からセルの書式設定で桁区切りを付けるのとExcelの書式設定ツールバーの“桁区切りスタイル”を使うのとでは 何か違いがあるのでしょうか? 私の持っているテキストでは “ピボットテーブルフィールド”の“表示形式”から桁区切りを付けるようになっているのですが 書式設定ツールバーの“桁区切りスタイル”を使う方が簡単なように思います。 何か意味があるのでしょうか? 宜しくお願い致します。

  • csvファイルの「0」文字表示

    ExcelにてCSVファイルを開いた場合、「0001」(CSV側)というデータは、0が削られ「1」(Excel側)へと変換されてしまいます。 Excelで開いた際に、はじめから0001の状態で(後でセルの書式設定でいじるのではなく・・・)表示したいのですが、どうしたら宜しいでしょうか?

  • エクセル→CSVについて

    エクセルで編集してCSV形式で保存する場合、あるセルに8ケタの数字を入れたくて、[書式設定]-[ユーザー設定]で0を8個いれたのですが、CSV形式で保存すると8ケタになりません。 同様に「'00000001」の形で入力してみてもだめでした。 何かいい方法はありますでしょうか?

専門家に質問してみよう