使用 Python 将数据插入 Oracle table
Inserting data into Oracle table with Python
我知道这是一个非常简单的问题,但我很困惑。使用 Python 通过 SQLDeveloper 将一大块数据插入到我的 Oracle table 时我成功了,但是当我还尝试插入一些额外的值时它失败了。
我有一个 23 行 5 列的 DataFrame,我可以轻松地将其导出到我的 Oracle table。我还想用单个值 "NEFS 2" 填充我的 table 的一列,用另一个值“1”填充另一列,但我无法成功执行两个导出。
这是我的导出代码:
cursor = con.cursor()
exported_data = [tuple(x) for x in df_Quota.values]
sql_query = (("INSERT INTO ROUGHTABLE(species, date_posted, stock_id, pounds, money)" "VALUES (:1, :2, :3, :4, :5)"), ("INSERT INTO ROUGHTABLE(sector_name, ask)" "VALUES (NEFS 2, 1)"))
cursor.executemany(sql_query, exported_data)
con.commit()
cursor.close()
con.close()
它在行 cursor.executemany(sql_query, exported_data)
上失败,错误为 TypeError: expecting string or bytes object
我是否需要将 sql_query
分成两个不同的语句?如果是这样,我是否需要有两个不同的 cursor.executemany
语句?还是比这更大的问题?原谅我是SQL的新手。并感谢您的帮助。
据我了解,您想用值 (:1, : 2, :3, :4, :5, 'NEFS 2', 1).如果是这样的话,需要的 SQL 是:
INSERT INTO ROUGHTABLE(species, date_posted, stock_id, pounds, money, sector_name, ask)
VALUES (:1, :2, :3, :4, :5, 'NEFS 2', 1)
python 代码的第 3 行应该是:
sql_query = "INSERT INTO ROUGHTABLE (species, date_posted, stock_id, pounds, money, sector_name, ask) VALUES (:1, :2, :3, :4, :5, 'NEFS 2', 1)"
我知道这是一个非常简单的问题,但我很困惑。使用 Python 通过 SQLDeveloper 将一大块数据插入到我的 Oracle table 时我成功了,但是当我还尝试插入一些额外的值时它失败了。
我有一个 23 行 5 列的 DataFrame,我可以轻松地将其导出到我的 Oracle table。我还想用单个值 "NEFS 2" 填充我的 table 的一列,用另一个值“1”填充另一列,但我无法成功执行两个导出。
这是我的导出代码:
cursor = con.cursor()
exported_data = [tuple(x) for x in df_Quota.values]
sql_query = (("INSERT INTO ROUGHTABLE(species, date_posted, stock_id, pounds, money)" "VALUES (:1, :2, :3, :4, :5)"), ("INSERT INTO ROUGHTABLE(sector_name, ask)" "VALUES (NEFS 2, 1)"))
cursor.executemany(sql_query, exported_data)
con.commit()
cursor.close()
con.close()
它在行 cursor.executemany(sql_query, exported_data)
上失败,错误为 TypeError: expecting string or bytes object
我是否需要将 sql_query
分成两个不同的语句?如果是这样,我是否需要有两个不同的 cursor.executemany
语句?还是比这更大的问题?原谅我是SQL的新手。并感谢您的帮助。
据我了解,您想用值 (:1, : 2, :3, :4, :5, 'NEFS 2', 1).如果是这样的话,需要的 SQL 是:
INSERT INTO ROUGHTABLE(species, date_posted, stock_id, pounds, money, sector_name, ask)
VALUES (:1, :2, :3, :4, :5, 'NEFS 2', 1)
python 代码的第 3 行应该是:
sql_query = "INSERT INTO ROUGHTABLE (species, date_posted, stock_id, pounds, money, sector_name, ask) VALUES (:1, :2, :3, :4, :5, 'NEFS 2', 1)"