导入数据时遇到问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了导入数据时遇到问题相关的知识,希望对你有一定的参考价值。
我有一个我想要导入的数据集。我的代码是:
DATA AlbumData;
INFILE '/folders/myfolders/TopGrossingAlbumsR.txt' DLM=',' DSD MISSOVER FIRSTOBS=2;
INPUT Album $ Artist $ ReleaseDate ANYDTDTE10. TotalCertifiedCopies 5.1
ClaimedSales 3.0 Genre $;
RUN;
但是我输出的日志表明有很多行无效数据。前两列的数据有些出现,但是被截断,所以当我尝试添加一个信息时,例如
Album $30.
然后,它将此列中的数据与Artist组合在一起。我不知道如何处理这个问题。
答案
示例行数据和来自日志的错误消息将有助于诊断。
如果文件确实是分隔的,那么请确保使用列表模式输入样式而不是格式化输入样式。确保这一点的最简单方法是在INPUT
声明中不包含任何信息规范。
使用LENGTH
或ATTRIB
语句显式定义变量也是一种好习惯,而不是强迫SAS根据您首次使用变量的方式来猜测它们的定义方式。
DATA AlbumData;
INFILE '/folders/myfolders/TopGrossingAlbumsR.txt' DLM=',' DSD truncover FIRSTOBS=2;
length Album $30 Artist $30 ReleaseDate 8
TotalCertifiedCopies 8 ClaimedSales 8 Genre $30
;
informat ReleaseDate ANYDTDTE.
format ReleaseDate yymmdd10.;
INPUT Album -- Genre ;
RUN;
如果你必须在INPUT
语句中使用信息,那么一定要在它之前使用:
修饰符。
也不要在INFORMAT上包含小数位的规范,除非你的意图是将任何没有句点的输入字符串除以10的幂。
内森:......这些骰子上没有任何斑点。他们是空白的 Big Jule:我把这些地方带走了运气,但我记得以前的景点。
以上是关于导入数据时遇到问题的主要内容,如果未能解决你的问题,请参考以下文章
Oracle 数据库 - 使用UEStudio修改dmp文件版本号,解决imp命令恢复的数据库与dmp本地文件版本号不匹配导致的导入失败问题,“ORACLE error 12547”问题处理(代码片段