【发布时间】:2021-01-19 06:59:54
【问题描述】:
我正在尝试将 pandas 数据帧插入 Teradata 并遇到此错误。与 Teradata 的连接正在工作,因为我能够一次插入一条记录相同的数据。请帮忙。
import pandas as pd
import teradata as td
Car_Sales = pd.DataFrame([
{"Sale_Dt":"2019-10-01", "Brand":"Mercedes","Sale_Type":"New","Dealer_Type":"Urban","SalesVol":"5"},
{"Sale_Dt":"2019-10-02", "Brand":"BMW","Sale_Type":"Used","Dealer_Type":"Sub-Urban","SalesVol":"3"},
])
udaExec = td.UdaExec()
with udaExec.connect(method="odbc",DSN = "dsn1",driver = 'Teradata Database ODBC Driver 16.20') as session:
#session.execute("INSERT INTO db.tbl_Cars (Sale_Dt,Brand,Sale_Type,Dealer_Type,SalesVol) VALUES (?,?,?,?,?)",("2019-10-01","Mercedes","New","Urban",5))
query2 = "INSERT INTO db.tbl_Cars"
session.execute(query2,Car_Sales,batch=True)
错误: ValueError:DataFrame 的真值不明确。使用 a.empty、a.bool()、a.item()、a.any() 或 a.all()。
【问题讨论】:
-
为什么不用pandas的@987654322@方法呢?还可以考虑使用
teradatasqlalchemy包而不是teradata包加上ODBC。 -
我可以在我的代码的下一次迭代中尝试。