我希望导入一个SAS表sas7dat格式到postgresql。或者我需要将表转换为csv,然后导入?谢谢!
发布于 2018-04-15 21:49:34
如果您的组织中已经安装了SAS和Postgres,那么您可能拥有到Postgres的SAS/Access接口。您可以使用proc setinit;run;检查您是否具有到Postgres的SAS/访问接口。如果您有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/访问postgres,那么您可能需要两个步骤。(但请检查您的公司是否有可用的etl工具)
首先,您必须使用proc export to CSV。请参阅下面的链接
Efficiently convert a SAS dataset into a CSV
then move csv data into postgres
发布于 2021-04-19 01:37:30
我找到了另一个解决方案,它需要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')
https://stackoverflow.com/questions/49846152
复制相似问题