【发布时间】:2020-08-05 20:05:28
【问题描述】:
在创建数据并将数据插入新表时,我目前正在努力使用 pandas 中的 to_sql 函数。
代码如下:
import pandas as pd
import sqlalchemy
import urllib
params=urllib.parse.quote_plus("Driver=Adaptive Server Enterprise;SERVER=xxx.div.com;DATABASE=MYDB;USER=DIV;Pass=XXX;PORT=12345)
table_name="tab2"
engine = create_engine("sybase+pyodbc:///?odbc_connect=%s" %params,echo=True)
query = "Select Col1,Col2,Col3 from tabA"
df=pd.real_sql_query(query,con=engine)
df.to_sql(table_name,engine,if_exists='replace',schema=dbo)
下面会生成一个创建语句,如: 创建表 dbo."tabB" ( "col1" BIGINT NULL, "col2" BIGINT NULL, "col3" BIGINT NULL )
然后出现错误 sqlalchemy.exc.Programmingerror : (pyodbc.Programmingerror) '(' 附近的语法不正确\n
默认的 '"'(double generated) 导致了这个问题。因为在 ASEISql 上执行时 SQL 语句会抛出同样的错误。
任何解决此问题的方法都会有所帮助。
提前感谢您的帮助。
注意引擎创建成功。
【问题讨论】:
标签: python-3.x pandas sqlalchemy sybase sap-ase