こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

0をデータに納めたい

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

投稿日時 - 2009-07-26 18:11:16

QNo.5157319

すぐに回答ほしいです

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

普通は半角の「0」が null に化けたりはしません。 まず、CSVに書いた内容が悪いのか、確認のためにCSVを開いたソフト(MS-Excel?)が悪いのかを確認してください。

確認と言っても CSVをテキスト・エディタで開いて該当部分がどうなっているか見るだけです。

CSVの基本規則は守っていますよね? セル内に 「,」、「"」、改行を含む場合は、「"」を「""」に置き換えて全体を 「"」で囲むという奴です。

MS-Excel が悪い訳が無い、なんて思わないでください。 "1/2" を "1月2日" と表示する等、余計なお世話のかたまりです。

投稿日時 - 2009-07-26 19:19:00

お礼

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

投稿日時 - 2009-07-27 14:48:08

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.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が入っています。
どういった出力になっているのかもう少し詳しく分かれば何か分かるかもしれません。
エクセルのおせっかい機能か正常に出力されていない気がします。

投稿日時 - 2009-07-26 23:53:12

お礼

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

投稿日時 - 2009-07-27 14:52:24

あなたにオススメの質問