2012-11-26 1 views
1

팬더 데이터 프레임에 기본 정보가 있습니다. pyodbc 연결을 통해 액세스 할 수있는 참조 테이블과 연결해야합니다. SQL Server 결과 집합을 csv에 먼저 쓰지 않고 pandas DataFrame으로 가져올 수있는 방법이 있습니까?일부 odbc 연결에서 csv 외의 팬더 테이블로 연결

csv와 DataFrame으로이 단계를 추가하는 것은 낭비처럼 보입니다.

답변

5

SQL Server 인스턴스에서 pyodbc을 사용하면이 thread의 도움을 받아 SQL 반환을 통해 데이터 프레임을로드 할 수 있습니다.

나는 이미 pyodbc 연결을 설정하고 전화를 걸었습니다.

import pyodbc 

import pandas.io.sql as psql 

cnxn = pyodbc.connect(your_connection_info) 
cursor = cnxn.cursor() 
sql = ("""SELECT * FROM Source""") 

df = psql.frame_query(sql, cnxn) 
cnxn.close() 

df 이제 dataframe를 반환해야합니다. 나를 위해 가장 어려운 부분은 pyodbc을 실행 중이었습니다. - 나는 freetds을 사용해야 만했습니다. 작동하려면 많은 시행 착오를 겪었습니다.

+0

완벽하게 작동합니다. 단계를 저장 ... pyTable.root.table.where ('field == value')에서 수행 할 수있는 방법이 있다면 모든 중간 csv 파일을 피할 수 있습니다. –