我想將 sas 資料集匯出到 json。我需要應用commax10.1 格式以使其適用于某些語言版本。問題是 fmtnumeric 選項正確應用了格式,但在引號內插入了額外的空格。我嘗試過修剪空白和其他選項,但無法擺脫它們。如何洗掉引號內的空白?注意:我希望值保留在引號內
另外,是否可以用“”替換空值?
樣本資料:
data testdata_;
input var1 var2 var3;
format _all_ commax10.1;
datalines;
3.1582 0.3 1.8
21 . .
1.2 4.5 6.4
;
proc json out = 'G:\test.json' pretty fmtnumeric nosastags trimblanks keys;
export testdata_;
run;
在鏈接中,您可以看到輸出的樣子。

uj5u.com熱心網友回復:
trimblanks只修剪尾隨空白。格式本身正在添加前導空格,并且proc json沒有我所知道的洗掉前導空格的選項。
一種選擇是將所有值轉換為字串,然后匯出。
data testdata_;
input var1 var2 var3;
format _all_ commax10.1;
array var[*] var1-var3;
array varc[3] $;
do i = 1 to dim(var);
varc[i] = strip(compress(put(var[i], commax10.1), '.') );
end;
keep varc:;
datalines;
3.1582 0.3 1.8
21 . .
1.2 4.5 6.4
;
這將是一個很好的功能請求。我建議將此發布到SASWare Ballot Ideas或聯系技術支持并讓他們知道此問題。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/376143.html
