1

我无法理解如何使用以下文件:

  • 一个 .sas 文件,其中包含每个变量的位置 -column- 和长度(我有 500+);和
  • 一个包含这些变量值的文本文件(我有超过 120k 的观察值)。

我已经发布了一个关于此的问题,似乎合并变量名称和值的唯一方法是手动进行。问题是我这几天一直在努力解决这个问题,而且经常犯错误。

有谁知道如何解决这个问题并使用 python pandas 自动导入?

.sas 文件(在 WPS 工作台中打开)如下所示:

DATA YOUR_DATA;
INFILE 'C:\Users\...\file.txt';
    
 ***Column   VarName   Varlength      VarLabel***
    @18      PROFAM    6.             /*  progressivo famiglia univoco a livello indagine                                                                                                                                                           */                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
    @24      PROIND    2.             /*  progressivo individuo nell'ambito della famiglia                                                                                                                                                          */                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
    @29      NCOMP     2.             /*  n° dei componenti la famiglia attuale                            

其中Column VarName Varlength VarLabel不在实际代码中,此处已添加以解释代码。

4

1 回答 1

1

一种方法是:

  1. 下载WPS Workbench 社区版。WPS Workbench是一个读取sas文件的软件。如果您在某些学院/大学就读,您还可以下载学术版(无广告且具有额外功能)。安装并设置后,打开它。

  2. 在 WPS 环境中,打开 .sas 程序:单击File -> Open File并选择您的.sas文件,该文件将在 WPS 中打开。像这样设置三行:

DATA YOUR_DATA;
INFILE 'C:\Users\...\path_to_your_file\YOURDATA.TXT' LRECL=978 MISSOVER;
INPUT
 @18  PROFAM  6.  /*  progressivo famiglia univoco a livello indagine */                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
 @24  PROIND  2.  /*  progressivo individuo nell'ambito della famiglia*/ 

只需在第一行中选择您想要的数据名称,然后.txt在第二行中输入文件的正确路径即可。

2.1通过以下方式更正代码:擦除 ***Column VarName Varlength VarLabel***INPUT 语句和第一行数据之间的行。

2.2 检查最后一个变量后的最后两行,它应该像这样结束:

@235 NCOMPL  8. /*  n° rendimento la famiglia attuale */
;
run;

如果不是,请添加上面的最后两行。

  1. 编写将数据导出.csv. .sas只需在程序文件末尾写下以下代码:
proc export data=YOUR_DATA
     outfile="c:\myfiles\YourData.csv"
     dbms=csv 
     replace;
run;

确保在第一行再次写入文件的正确名称(您选择的名称),并在第二行中写入您希望保存 .csv 文件的正确路径。

ctrl + R运行代码,或单击运行按钮。OkSave and runWPS 对话框中单击。

  1. 最后,.csv在 Pandas 中打开。
于 2020-11-07T18:19:31.743 回答