尝试导入带有双分隔符+回车符的CSV文件

时间:2017-09-25 12:09:44

标签: csv import sas delimiter

我尝试使用(SAS中的向导)SAS Enterprise Guide导入CSV数据集。它为我提供了两个选项: 1)文本格式为分隔字段或 2)固定列

但是,我有一个数据集,其中包含带有2个分隔符的数据("和之间的文本),以及每行数据后的回车符。这意味着我无法使用向导。但是,由于格式的性质(双分隔符+回车符),我想知道如何使用' regular'代码。

请在此处找到一个示例文件(我想导入):https://www.briandunning.com/sample-data/us-500.zip

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

这里的问题可能是导入向导没有发现行尾符号是单个回车符。 我不确定你的意思是“双分隔符”。从我在示例CSV中看到的,只有一个简单的逗号分隔符,值用双引号括起来,以掩盖值中的逗号。

根据您的示例CSV,此代码成功导入:

data want;
length first_name $20
       last_name $20
       company_name $30
       address $50
       city $20
       county $20
       state $2
       zip $10
       phone1 $20
       phone2 $20
       email $100
       web $100
             ;
infile 'path-to-file\us-500.csv' dsd delimiter=',' termstr=cr missover firstobs=2;
input first_name $
      last_name $
      company_name $
      address $
      city $
      county $
      state $
      zip $
      phone1 $
      phone2 $
      email $
      web $;
run;

这里的关键是termstr=cr选项,它告诉infile语句终止符号是回车符。 dsd选项指出值用双引号括起来,当在双引号之间找到分隔符时,它将被视为一个字符。

当然,您可以使用这些长度语句来最适合您的实际数据。