2016-06-16 9 views
0

私はTeradataのデータを照会するPyTd teradataモジュールを使用し、パンダのデータフレームにそれを読みたいんだPythonのPyTd Teradataの問合せにパンダDATAFRAME

import teradata 
import pandas as pd 

# teradata connection 
udaExec = teradata.UdaExec(appName="Example", version="1.0", 
          logConsole=False) 
session = udaExec.connect(method="odbc", system="", username="", password="") 

# Create empty dataframe with column names 
query = session.execute("SELECT TOP 1 * FROM table") 
cols = [str(d[0]) for d in query.description] 
df = pd.DataFrame(columns=cols) 

# Read data into dataframe 
for row in session.execute("SELECT * FROM table"): 
    print type(row) 
    df.append(row) 

rowteradata.util.Rowclassであり、に追加することはできませんデータフレーム私はそれをリストに変換しようとしましたが、フォーマットが乱れてしまいます。

teradataモジュールを使用してTeradataからデータフレームにデータを読み込むにはどうすればよいですか?私はこのためにpyodbcモジュールを使用することができません。

空のデータフレームをデータベース内の列名と一致させて作成する方が良いでしょうか?

答えて

0

私は少し遅れて知っています。それにもかかわらずノートを入れる。

ここにはいくつか質問があります。

teradataモジュールを使用して、データをTeradataからデータフレームに読み込むにはどうすればよいですか?

今日の終わりには、teradata.util.Rowは単なるリストです。だから、単純なリスト操作は、あなたが行から物事を得るのを助けるはずです。

','.join(str(item) for item in row) 

ちょっとしたこと。

これをパンダのデータフレームにプッシュすることは、df変換の練習のリストにする必要があります。

私はこれにpyodbcモジュールを使用することができません。

私はteradataのpythonモジュールを使用してLDAP認証を行いました。すべて正常に働いた。この要件はありませんでした。ごめんなさい。

空のデータフレームをデータベースの列名と一致させて作成する方が良いでしょうか?

私は、テーブル名を指定すると、それをスキーマ(テーブル名)とみなして>>それをリストに変換し、あなたのパンダを作成すると仮定します。

3

あなたは、クエリ後のセッションの終了を確保する「で」を使用しpandas.read_sql :)

import teradata 
import pandas as pd 

# teradata connection 
udaExec = teradata.UdaExec(appName="Example", version="1.0", 
          logConsole=False) 
with udaExec.connect(method="odbc", system="", username="", password="") as session: 


    query ="SELECT * FROM table" 

    df = pd.read_sql(query,session) 

を使用することができます。私は助けを祈った:

関連する問題