【问题标题】:How to open SAS files using Excel?如何使用 Excel 打开 SAS 文件?
【发布时间】:2015-02-28 12:59:41
【问题描述】:

我有一组 SAS 数据集,我想使用 Excel 或 R 打开它。我没有 SAS 软件,所以我不能使用其中的导出选项。是否有任何转换器可以从 SAS7BDAT 转换为 excel?

谢谢

【问题讨论】:

  • @ShashaankSivakumar 你可以试试read.sas7bdat from library(sas7bdat) in R
  • 您还可以获得SAS的免费版,SAS大学版
  • @akrun read.sas7bdat() 工作!非常感谢! :D

标签: r excel sas converter


【解决方案1】:

您可以使用 SAS add in for Microsoft office 在 Excel 中打开 SAS 数据集。但不确定它是否免费。

正如 Reese 建议的那样,您可以使用 - SAS Universal Viewer,它是免费的!

这是链接:-

https://support.sas.com/downloads/browse.htm?fil=&cat=74

或者你可以下载SAS大学版,它也是免费的,它不仅仅是一个查看器,你可以在这里编写和执行程序。

http://www.sas.com/en_us/software/university-edition/download-software.html

【讨论】:

  • SAS Microsoft Add In 不是免费的。 SAS Universal View 是,但我认为它允许您将数据导出。
【解决方案2】:

我帮助开发 Colectica for Excel 插件,它可以在 Excel 中打开 SAS 数据文件。不需要 SAS 软件或 ODBC 配置。该插件直接读取 SAS 文件,然后将数据和元数据插入到您的工作表中。

  • 导入 SAS .sas7bdat 数据和列名
  • 在可用时导入 SAS .sas7bcat 格式和值标签

Excel插件可从http://www.colectica.com/software/colecticaforexcel下载

文档位于user manual

【讨论】:

  • 这是免费软件还是付费软件?
  • @dan 你知道有学生会员或折扣吗?
【解决方案3】:

我遇到了同样的“需求”,经过四处研究后,我发现了一种使用 R 和最新版本 RStudio(根据 2020 年 6 月日期 - 免费版)的简单易用的方法。使用它,您可以打开各种格式的文件,RStudio 会为您生成它运行的 R 脚本。您可以以此为起点,打开.sas7bdat 文件,然后执行转换步骤。

使用 RStudio“视觉”方式导入文件的步骤:Evironment tab -> Import Dataset -> From SAS...

它会要求您导入 Haven 库。安装后,您将看到一个选项卡,其中包含文件中数据的预览以及后面运行的 R 脚本,如下所示:

library(haven)
aux <- read_sas("//PATH_ON_YOUR_MACHINE_TO_FILE/actual_file.sas7bdat", NULL)
View(aux)

注意NULL那里,它的目的是将空字符串转换为NULL。

但是等等,我们还需要将其转换为 .csv 文件才能完成最后的工作。为此,您只需在以下这些行下方添加以下内容:

write.csv(aux, "actual_file.csv")

这将在与原始 SAS 文件相同的文件夹中生成所需的 .CSV 文件。如果你想有“;”作为分隔符而不是“,”使用write.csv2(aux, "actual_file.csv")。无论如何,字符串都用“”括起来,所以应该没问题。

【讨论】:

    【解决方案4】:

    这里有一个快速而肮脏的 python 五线将 .xpt 文件转换为 .csv

    import pandas as pd
    FILE_PATH = "(directory containing file)"
    FILE = "ABC"  # filename itself (without suffix)
    
    # Note: might need to substitute the column name of the index (in quotes) for "None" here
    
    df = pd.read_sas(FILE_PATH + FILE + '.XPT', index=None)
    
    df.to_csv(FILE_PATH + FILE + '.csv')
    

    希望这可能对某人有所帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-01-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多