3

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

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

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

谢谢!

4

1 回答 1

1

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

blah;7313990763761997;blah

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

filename mycsv "\path\to\mycsv.csv";

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

如果您只想这样做,这将保留文本格式的数字。

于 2012-04-10T15:40:53.250 回答