我希望将SAS表sas7dat格式导入postgresql。或者我需要将表转换为csv然后导入? 谢谢!
答案 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')