エクセルで開いても前ゼロが消えないcsvをods csvで作る話

ods csvのマニアックな話です。

data Q1;
X=1;Y='001';Z='A';output;
X=2;Y='002';Z='B';output;
run;







のような前ゼロがあるデータを考えます。

ods csv file='/folders/myfolders/A1.csv';
proc print data=Q1 noobs;
run;
ods csv close;

として
A1.csvをノートパッド等テキストエディタで開いてみます。










となっています。

同じファイルをEXCEL等のスプレッドシートソフトで開いてみると

のように前ゼロが取れて表示されます。
よく知られた話だと思います。

EXCELで開いても、前ゼロがとれないようにすることできないかな~って考えます。
何のためにか?ただの興味です。

まずはquote_by_typeでクォートしちゃいます。

ods csv file='/folders/myfolders/A2.csv' options(quote_by_type="Yes" );
proc print data=Q1 noobs;
run;
ods csv close;

テキストエディタで開くと

さて、今度はいけるかな~??









はい無理でした~。


最後は、Prepend_Equalsをつけてみます。

ods csv file='/folders/myfolders/A3.csv' options(Prepend_Equals='Yes' quote_by_type="Yes" );
proc print data=Q1 noobs;
run;
ods csv close;

すると、以下のようになんか前に「=」とかつきだしました









今度こそ!!









できた!!わ~い!!


しかし、できたけど、csvって、他のシステムと読み書きでデータの受け渡ししやすいから使うこと
多いわけで、EXCELで確認するときに前ゼロがつく代償に、こんな余計なもんついたcsv作ってもな~。

0 件のコメント:

コメントを投稿