导入数据时遇到问题

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声明中不包含任何信息规范。

使用LENGTHATTRIB语句显式定义变量也是一种好习惯,而不是强迫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:我把这些地方带走了运气,但我记得以前的景点。

以上是关于导入数据时遇到问题的主要内容,如果未能解决你的问题,请参考以下文章

使用片段从数据库 SQLite 获取数据时出错

Oracle 数据库 - 使用UEStudio修改dmp文件版本号,解决imp命令恢复的数据库与dmp本地文件版本号不匹配导致的导入失败问题,“ORACLE error 12547”问题处理(代码片段

MySQL导入导出数据时遇到Tab符号和换行符号怎么办

从第二个片段访问时 ViewModel 数据丢失状态

Android:使用支持片段管理器时复制片段

Adobe Premiere Pro导入插件开发遇到的一个问题