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

ars1skjm  于 2022-11-23  发布在  PostgreSQL
关注(0)|答案(3)|浏览(133)

我想导入一个sas 7 dat格式的SAS表到postgresql。或者我需要把表转换成csv然后导入吗?谢谢!

zlhcx6iw

zlhcx6iw1#

如果您的组织中已经有SAS和Postgres,那么您可能有到Postgres的SAS/Access接口。您可以使用proc setinit;运行;来检查您是否有SAS/Access接口到Postgres。如果您有SAS/ACCESS,那么您可以使用libname方法,如下例所示。
/* 为postgres定义库名称 */

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

{1}/{2}定义SAS表的库名称{3}/{4}

libname mydata '/folders/myfolders/';

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

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

如果你没有SAS/ACCESS到postgres那么你可能要做2个步骤.(但检查你是否有任何ETL工具可在您的公司)
首先你必须使用proc导出到CSV.见下面的链接
Efficiently convert a SAS dataset into a CSV
然后将csv数据移动到postgres
How to import CSV file data into a PostgreSQL table?

9o685dep

9o685dep2#

我找到了另一个解决方案,它需要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')
ctehm74n

ctehm74n3#

另一个选项可能是将SAS文件导入R,然后使用dbWrite将数据从R写入SQL数据库。
就我个人而言,我发现将R中的数据放入SQL数据库比将文本文件中的数据放入SQL数据库要容易。
请参阅https://www.statology.org/import-sas-into-r/
https://dbi.r-dbi.org/reference/dbwritetable

相关问题