[英]Reading sas7bdat files with Python's adodbapi
我正在嘗試將SAS(SAS Institute的產品)中的sas7bdat文件讀取到Python中。
是的,我知道我們可以導出到* .csv文件,但是我試圖避免這樣做,因為這會使我們需要創建的文件數量增加一倍。
在Visual Basic中有很好的文檔可以做到這一點。 盡管如此,我還是希望在Python中使用它。 例如,在VB中,您可以編寫...
Dim cn as ADODB.Connection
Dim rs as ADODB.Recordset
obConnection.Provider = "sas.LocalProvider"
obConnection.Properties("Data Source") = "c:\MySasData"
obConnection.Open
rs.Open "work.a", cn, adOpenStatic, adLockReadOnly, adCmdTableDirect
打開數據集。
但是我不能輕易使它在python中工作。
我可以打字...
import adodbapi
cnstr = 'Provider=sas.LocalProvider;c:\\MySasData'
cn = adodbap.connect(cnstr)
一個可以得到一個游標...
cur = cn.cur()
但是除此之外,我很沮喪。 我確實找到了一個cur.rs,聽起來像一個記錄集,但這是一個類型為None的對象。
另外,要搶占一些替代方法...
謝謝!
由於當前未安裝提供程序,因此未使用SAS測試,它應如下所示:
cn = adodbapi.connect(cnstr)
# print table names in current db
for table in cn.get_table_names():
print(table)
with cn.cursor() as c:
#run an SQL statement on the cursor
sql = 'select * from your_table'
c.execute(sql)
#get the results
db = c.fetchmany(5)
#print them
for rec in db:
print(rec)
cn.close()
編輯:剛發現此http://support.sas.com/kb/30/795.html,所以您可能需要使用其他提供程序進行此方法,請看一下IOM privoder( https://www.connectionstrings.com / SAS-IOM提供商/ , http://support.sas.com/documentation/tools/oledb/gs_iom_tasks.htm )
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.