python - Teradata - Pandas TypeError:“NoneType”对象不可迭代
问题描述
我正在尝试运行以下代码以使用 teradata python 库创建 Teradata 表:
import teradata
import pandas as pd
udaExec = teradata.UdaExec (appName="Hello", version="1.0",
logConsole=False)
session = udaExec.connect(method="odbc", system="tdprod",
username="xxx", password="xxx");
sqlStr = "CREATE SET TABLE \"TEST123\" \
(col1 INTEGER) PRIMARY INDEX (col1);"
result = pd.read_sql(sqlStr, self.session)
我收到以下错误:
File "..\pandas\io\sql.py", line 1436, in read_query
columns = [col_desc[0] for col_desc in cursor.description]
TypeError: 'NoneType' object is not iterable
关于如何解决这个问题的任何想法?
解决方案
您的 SQL (sqlStr) 是一个 DDL (CREATE Table) -> 它不会提供任何可以放入 Pandas Dataframe (pd.read_sql) 的结果集。
如果您只想创建表,则不需要熊猫:
session.execute(sqlStr);
如果要从表“TEST123”中读取:
sqlStr = "SELECT col1 FROM Test123;";
result = pd.read_sql(sqlStr, self.session);
或者:
result = pd.read_sql_table("Test123", self.session);
推荐阅读
- javascript - 生成 Javascript Swagger 客户端时失败
- static-site - 使用 Eleventy 获取要在主页上显示的最新帖子
- swiftui - ios14.2(SwiftUI)如何同时刷新detail view和master view
- amazon-web-services - 使用域名令牌时如何为 AWS CDK 指定验证域
- apache-spark - 具有 0 条记录的外部 Hive 表
- gitlab - GitLab openid-connect 与 Keycloak
- python - 无法使用python中的参数更改函数内部的全局变量
- networking - Kubernetes 通过 VirtualBox:Pod 无法访问互联网服务
- python - 打印 discord.py 语法错误,但我无法理解问题
- python - python将\ x00连接为字符串