使用这个基本的 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', con=engine, index=False, 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, in to_sql
method=method,
File "C:\Users\Bkuijer\AppData\Local\Programs\Python\Python37-32\lib\site-packages\pandas\io\sql.py", 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'