我尝试使用(SAS中的向导)SAS Enterprise Guide导入CSV数据集。它为我提供了两个选项: 1)文本格式为分隔字段或 2)固定列
但是,我有一个数据集,其中包含带有2个分隔符的数据("和之间的文本),以及每行数据后的回车符。这意味着我无法使用向导。但是,由于格式的性质(双分隔符+回车符),我想知道如何使用' regular'代码。
请在此处找到一个示例文件(我想导入):https://www.briandunning.com/sample-data/us-500.zip。
提前感谢您的帮助!
答案 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
选项指出值用双引号括起来,当在双引号之间找到分隔符时,它将被视为一个字符。
当然,您可以使用这些长度语句来最适合您的实际数据。