2017-01-19 5 views
0

データフレームの使用方法を学びます。私は間違って何をしていますか?データフレームへのSQLクエリ

私の試み:

import pyodbc 
import pandas as pd 
from pandas import read_csv 
from sqlalchemy import create_engine 
from sqlalchemy.engine.url import URL 
import time 
import csv 
import sys 

Class Query(object): 
    def do_something(self): 
    con={'drivername':'mssql+pymssql','host': 'host-name', 'port': number, 'database': 'databasename','username':'username','password':'asdf'} 

    query = """ select column1 from schema.table1 """ 

    df=pd.read_sql_query('parse',con,index_col=None,coerce_float=True,params=None,parse_dates=None,chunksize=None) 

x=Query() 
x.do_something() 

目標は、最終的にはCSVファイルにこのDFを格納することです。次に、クエリを実行して、CSVファイルにその列を追加する必要があります。助けてください。

+0

あなたはPython 3以降を使用していますか? – J3STER

+0

私はPython 2.7を使用しています –

+0

AttributeError: 'dict'オブジェクトの属性に 'cursor'というエラーはありませんが、文献ではパンダを使用するときにカーソルを定義することについて何も表示されませんhttp://pandas.pydata.org /pandas-docs/version/0.19.2/generated/pandas.read_sql_query.html#pandas.read_sql_query –

答えて

0

I usedこのコード:

from sqlalchemy import create_engine 
import psycopg2 
mydb = create_engine('postgresql://[email protected]:5432/database') 
df = pd.read_sql_query('''SELECT sections, ...''', con=mydb) 
print(df) 

また、あなたがpd.read_sql_tableを使用し、それに列のリストを渡すことができます。テーブルを読み込む方が便利だと思われます。

0

解決しました。まだCSVに保存する方法やそのCSVに追加する方法はわかりません。

con={'drivername':'mssql+pymssql','host': 'host-name', 'port': number,  'database': 'databasename','username':'username','password':'asdf'} 
db_uri = URL(**database_dict) 
engine = create_engine(db_uri) 
query = """ select column1 from schema.table1 """ 

df=pd.read_sql_query(parse,con,index_col=None,coerce_float=True,params=None,parse_dates=None,chunksize=None) 
+0

[CSV]に保存(http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame) .to_csv.html):pd.to_csv( 'path/to/file.csv') –

関連する問題