• ベストアンサー

0をデータに納めたい

cgi(perl)でデータを整理し、格納しようとしています。 値が0という実数をファイル(csv)に格納したいのですが、"0"としても'0'としてもcsvファイルを開いて確認してみるとそのセルには何も入っていません(Null扱いになっているようです) データとして0を入れたい場合どうすればいいのでしょうか。 なお、全角の0ではなく半角の0を格納したいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • zxcv0000
  • ベストアンサー率56% (111/196)
回答No.1

普通は半角の「0」が null に化けたりはしません。 まず、CSVに書いた内容が悪いのか、確認のためにCSVを開いたソフト(MS-Excel?)が悪いのかを確認してください。 確認と言っても CSVをテキスト・エディタで開いて該当部分がどうなっているか見るだけです。 CSVの基本規則は守っていますよね? セル内に 「,」、「"」、改行を含む場合は、「"」を「""」に置き換えて全体を 「"」で囲むという奴です。 MS-Excel が悪い訳が無い、なんて思わないでください。 "1/2" を "1月2日" と表示する等、余計なお世話のかたまりです。

choei
質問者

お礼

ありがとうございます。 excelで開かずにテキストで開いてみましたが,,,となっており、0が入っていませんでした。 どうやらperlの記述に誤りがあるようです。 もう一度よく記述を見直します。

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • pevtone
  • ベストアンサー率0% (0/3)
回答No.2

試しに、 use strict; my $num = 0; my $h; open($h,">test.csv"); print $h "$num\,$num\n$num\,$num"; close($h); としてみました。 A1、A2、B1、B2、全てに0が入っています。 どういった出力になっているのかもう少し詳しく分かれば何か分かるかもしれません。 エクセルのおせっかい機能か正常に出力されていない気がします。

choei
質問者

お礼

ありがとうございます。 私も最初はExcelのお節介機能かと思ってましたが、テキストエディターで開いてみてもやはり入っていないので、perlの記述に誤りがあるようです。 もう一度よく見直します。

すると、全ての回答が全文表示されます。

関連するQ&A