我已经开始学习大熊猫了,偶然发现了以下问题:
以下是一个包含以下数据的表:
书:
B_IDX B_NAME B_AUTHOR B_PRICE B_UTYPE B_ID
1 ABC aaa 12.21 SCI 182
2 BCD bbb 98 ECN 920
3 CDE ccc 22.34 SCI 228
4 DEF ddd 44.11 LIT 761
5 EFG eee 0.99 MAT 10242
6 FGH fff 4.99 MAT 77721
Run Code Online (Sandbox Code Playgroud)
UCODE:
U_ID U_CD
182 9982825
950 9992822
228 9999983
776 9912876
332 9003931
Run Code Online (Sandbox Code Playgroud)
要求是使用if..else逻辑从上面提到的表中提取数据.
请求:
if B_UTYPE == 'SCI':
pull the record from 'UCODE'
elif B_UTYPE == 'MAT':
split the B_ID in 4 and 1 …Run Code Online (Sandbox Code Playgroud) 我是 IBM DB2 世界的新手,正在尝试使用 Jupyter 笔记本与 DB2 建立连接:
import ibm_db
try:
ibm_db.pconnect("DATABASE=DB2;HOSTNAME=hostname;PORT=60000;PROTOCOL=TCPIP;UID=user;PWD=password;", "", "")
print("Connected to DB")
except Exception as e:
print(e)
Run Code Online (Sandbox Code Playgroud)
但得到:
[IBM][CLI Driver] SQL1042C An unexpected system error occurred. SQLSTATE=58004 SQLCODE=-1042
Run Code Online (Sandbox Code Playgroud)
这里有什么建议吗?
编辑:
得到了问题的解决方案。将其发布在这里,以便有人可以得到帮助:
添加AUTHENTICATION=SERVER到字符串中ibm_db.pconnect。
我正在尝试使用游标来玩这个简单的 sql 查询:
import jaydebeapi,pandas as pd
conn = <connection to TeraData>
cursor = conn.cursor()
sql = ("Select top 10 * from Car_Sales")
data = cursor.execute(sql)
print(data.query)
row = data.fetchone()
#rows = data.fetchall()
print(row)
Run Code Online (Sandbox Code Playgroud)
我得到的错误是:
AttributeError:“NoneType”对象没有属性“fetchone”
我们花了几个小时试图找到问题,但没有取得任何进展。在网上查看了不同的资源,但问题仍然存在。
请让我知道我哪里出错了?
更新:
当我在 Pandas 中执行相同的查询时:
pd.read_sql_query('select top 10 * from Car_Sales',conn)
Run Code Online (Sandbox Code Playgroud)
输出:
Car_Sales
0 112
1 77
2 226
3 990
4 552
5 887
Run Code Online (Sandbox Code Playgroud)