Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python multi=正确,但具体在哪里?_Python_Python 3.x_Pandas_Sqlalchemy - Fatal编程技术网

Python multi=正确,但具体在哪里?

Python multi=正确,但具体在哪里?,python,python-3.x,pandas,sqlalchemy,Python,Python 3.x,Pandas,Sqlalchemy,我已经编写了一个脚本,将excel工作表中的数据导入MySQL数据库。然后我执行一个查询来选择数据并将其放入数据库。MySQL包含两条语句,一条是设置变量,另一条是执行select。然而,我看到multi=True错误,我理解错误,但我不知道应该在哪里提及multi=True if __name__ == "__main__": gesdb_engine_str = 'mysql+mysqlconnector://dbuser:dbpass@localhost/dbname' g

我已经编写了一个脚本,将excel工作表中的数据导入MySQL数据库。然后我执行一个查询来选择数据并将其放入数据库。MySQL包含两条语句,一条是设置变量,另一条是执行select。然而,我看到multi=True错误,我理解错误,但我不知道应该在哪里提及multi=True

if __name__ == "__main__":
    gesdb_engine_str = 'mysql+mysqlconnector://dbuser:dbpass@localhost/dbname'
    gesdb_engine = sqlalchemy.create_engine(gesdb_engine_str, echo=False, encoding='utf-8', multi - )
    gesdb_connection = gesdb_engine.connect()
    file_name = "tmp/dataload/so_tracking.XLSX"
    df = pd.read_excel(file_name, converters={'Billing Doc.': str, 'Sales Order': str})
    if df.shape[1] == 35 and compare_columns(list(df.columns.values)) == 1:
        # insert_so(df)
        # insert_so_lineitem(df)
        # insert_billing(df)
        scriptFile = open('script.sql','r')
        script = scriptFile.read()
        df2 = pd.read_sql(script, gesdb_connection)

    else:
        print("Incorrect column count, column order or column headers.\n")
错误: ]

Script.sql示例:
可能重复的尝试类似于
pd.read\u sql(脚本,gesdb\u连接,params={“multi”:“True”})
并报告是否适合您。@SergeyBushmanov它抛出了一个错误<代码>“在执行多个语句时使用multi=True”)sqlalchemy.exc.interfaceeerror:(mysql.connector.errors.interfaceeerror)在执行多个语句时使用multi=True[SQL:“SET@last\u sales\u order:=0,@next\u open=0;选择open
,order\u Reason,…[参数:{'multi':'True']
可能重复的尝试类似于
pd.read_sql(脚本,gesdb_连接,params={“multi”:“True”})
并报告这是否对您有效。@SergeyBushmanov它抛出了一个错误。
“在执行多个语句时使用multi=True”)sqlalchemy.exc.InterfaceError:(mysql.connector.errors.InterfaceError)在执行多个语句时使用multi=True[SQL:“SET@last\u sales\u order:=0,@next\u open=0;选择
open
,order\u Reason,…[参数:{'multi':'True'}]
File "C:\winpython\python-3.5.2.amd64\lib\site-packages\mysql\connector\cursor.py", line 511, in execute
    "Use multi=True when executing multiple statements")
sqlalchemy.exc.InterfaceError: (mysql.connector.errors.InterfaceError) Use multi=True when executing multiple statements [SQL: "SET @last_sales_order := 0, @next_open = 0; SELECT `Open`, .....
SET @last_sales_order := 0, @next_open = 0;
SELECT `Open`, .....