SAS-如何在从csv文件导入时保留实际数字,并使用科学符号表示数字



当我从csv文件中将一个具有长数字ID的文件导入SAS时,我想将数字转换为文本。但这些数字是用科学记数法存储的,所以当它们转换时,最后的数字都变成了零。

例如,7.3139908E14变成了ino7313999080000000,而它应该是731399076376199。

有办法解决这个问题吗?最终,我需要进行一些重复数据消除,然后将此文件导出为文本文件。

谢谢!

假设您的数据看起来像(即第二个CSV位置的数字ID):

blah;7313990763761997;blah

您可以逐行简单地读取文件,然后直接访问输入缓冲区(_INFILE_变量):

filename mycsv "pathtomycsv.csv";
data mydata;
  infile mycsv;
  input;
  length idvar $16;
  idvar=scan(_infile_,2,";");
run;

如果你只想这样做的话,这将以文本格式保存数字。

最新更新