brn*_*792 0 python teradata pandas
我正在使用该PyTd teradata模块从 Teradata 查询数据并希望将其读入 Pandas 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)
Run Code Online (Sandbox Code Playgroud)
row属于teradata.util.Row class并且不能附加到数据帧。我尝试将其转换为列表,但格式混乱。
如何使用该teradata模块将数据从 Teradata 读入数据帧?我无法为此使用该pyodbc模块。
有没有更好的方法来创建列名与数据库中的列名匹配的空数据框?
您可以使用 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)
Run Code Online (Sandbox Code Playgroud)
使用 'with' 将确保在查询后关闭会话。我希望有帮助:)
| 归档时间: |
|
| 查看次数: |
5662 次 |
| 最近记录: |