%b需要类似字节的对象或实现__bytes__的对象,而在数据帧上使用to_sql时则不是'str'

使用此基本的read_csv和to_sql脚本时,出现以下错误代码。可以请人解释我的系统做错了什么。我曾经工作,但一段时间后收到这些错误消息。我也查看了我的MySQL数据库,但它也可以上传varchar(256)。

import sqlalchemy
import mysql.connector
import pandas as pd


engine = sqlalchemy.create_engine('mysql+pymysql://boaz:............./Boaz',pool_recycle=3600,echo=False)
connection_alchemy = engine.connect()

filename = r'C:\Users\Bkuijer\Documents\contact details.csv'

df = pd.read_csv(filename,delimiter=';',encoding='utf-8')

print(df)

df.to_sql('Proef',con=engine,index=False,if_exists='append')

C:\Users\Bkuijer\AppData\Local\Programs\Python\Python37-32\lib\site-packages\pymysql\cursors.py:170: Warning: (1287,"'@@tx_isolation' is deprecated and will be removed in a future release. Please use '@@transaction_isolation' instead")
  result = self._query(query)
   Name      Adres   Nation
0  Boaz  Amsterdam  Holland
Traceback (most recent call last):
  File "c:/Users/Bkuijer/Documents/python_work/EPCOR/DMM database maken 2300/Mysql_upload_test.py",line 17,in <module>
    df.to_sql('Proef',if_exists='append')
  File "C:\Users\Bkuijer\AppData\Local\Programs\Python\Python37-32\lib\site-packages\pandas\core\generic.py",line 2663,in to_sql
    method=method,File "C:\Users\Bkuijer\AppData\Local\Programs\Python\Python37-32\lib\site-packages\pandas\io\sql.py",line 521,line 1317,in to_sql
    table.insert(chunksize,method=method)
  File "C:\Users\Bkuijer\AppData\Local\Programs\Python\Python37-32\lib\site-packages\pandas\io\sql.py",line 755,in insert
    exec_insert(conn,keys,chunk_iter)
  File "C:\Users\Bkuijer\AppData\Local\Programs\Python\Python37-32\lib\site-packages\pandas\io\sql.py",line 669,in _execute_insert
    conn.execute(self.table.insert(),data)
  File "C:\Users\Bkuijer\AppData\Local\Programs\Python\Python37-32\lib\site-packages\sqlalchemy\engine\base.py",line 1449,in execute
    params)
  File "C:\Users\Bkuijer\AppData\Local\Programs\Python\Python37-32\lib\site-packages\sqlalchemy\engine\base.py",line 1584,in _execute_clauseelement
    compiled_sql,distilled_params
  File "C:\Users\Bkuijer\AppData\Local\Programs\Python\Python37-32\lib\site-packages\sqlalchemy\engine\base.py",line 1691,in _execute_context   
    context)
  File "C:\Users\Bkuijer\AppData\Local\Programs\Python\Python37-32\lib\site-packages\sqlalchemy\engine\default.py",line 333,in do_execute       
    cursor.execute(statement,parameters)
  File "C:\Users\Bkuijer\AppData\Local\Programs\Python\Python37-32\lib\site-packages\pymysql\cursors.py",line 168,in execute
    query = self.mogrify(query,args)
  File "C:\Users\Bkuijer\AppData\Local\Programs\Python\Python37-32\lib\site-packages\pymysql\cursors.py",line 147,in mogrify
    query = query % self._escape_args(args,conn)
TypeError: %b requires a bytes-like object,or an object that implements __bytes__,not 'str'
iCMS 回答:%b需要类似字节的对象或实现__bytes__的对象,而在数据帧上使用to_sql时则不是'str'

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/1918482.html

大家都在问