任何人都有一个示例代码将SAS表导入postgresql

时间:2018-04-15 19:52:51

标签: postgresql sas

我希望将SAS表sas7dat格式导入postgresql。或者我需要将表转换为csv然后导入? 谢谢!

2 个答案:

答案 0 :(得分:2)

如果您的组织中已经有SAS和Postgres,那么您可能拥有Postgres的SAS / Access接口。你可以使用proc setinit; run;检查你是否有Postgres的SAS / Access接口。如果你有SAS / ACCESS,那么你可以使用libname方法,如下例所示。

/ *为postgres定义libname * /

libname A1 postgres server=mysrv1 port=5432 user=myusr1 password='mypwd1' database=mydb1;

/ *定义SAS表的libname * /

 libname mydata '/folders/myfolders/';

/ *然后使用datastep或SQL创建你的postgress表* /

 data A1.yourtable;
  set mydata.yourtable;
  run;

如果您没有SAS / ACCESS到postgres,那么您可能需要分两步完成。(但请检查贵公司是否有任何etl工具可用)

首先你必须使用proc导出到CSV。见下面的链接

Efficiently convert a SAS dataset into a CSV
                                                                                                 然后将csv数据移动到postgres中                                                                                       How to import CSV file data into a PostgreSQL table?

答案 1 :(得分:0)

我找到了另一个需要 Python 将 sas7bdat 文件导入 Postgres 的解决方案。

import pandas as pd
from sqlalchemy import create_engine

engine = create_engine("postgresql://user:password@localhost:5432/databasename", echo=False)
df = pd.read_sas('sas7bdat file location')
df.to_sql('tablename', con=engine, if_exists='replace')