从Pandas数据帧错误1054(42S22)创建MySQL表

2024-04-19 02:58:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我创建了一个数据帧df,如下所示:

df = pd.DataFrame(list(zip(product_urlList, nameList, priceList, picList)), 
               columns =['URL','NomProduit', 'Prix', "LienPic"])

df['IdUnique'] = df['NomProduit'] + df['Prix']

我的目标是将其导入MySQL数据库

我使用MySQL.connector通过Python创建了一个SQL数据库(称为“Sezane”)及其名为“Robes”的表

import mysql.connector as mysql

db = mysql.connect(
    host = "localhost",
    user = "root",
    passwd = "password",
    database = "sezane"
)

cursor = db.cursor()
cursor.execute('CREATE TABLE Robes (id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, Nom_Robes VARCHAR(255), Prix_Robes VARCHAR(255), liens_Robes VARCHAR(300), Images_robes VARCHAR (300), Id_Robes VARCHAR (255))'

然后,我尝试在表中插入此数据框:

from sqlalchemy import create_engine

engine = create_engine('mysql+mysqlconnector://root:password@Localhost:3306/sezane', echo=True)
df.to_sql(name='Robes', con=engine, if_exists = 'append')

我有以下错误:

ProgrammingError: (mysql.connector.errors.ProgrammingError) 1054 (42S22): Unknown column 'index' in 'field list'

我对这个错误做了一些研究,发现它可能成为引号括号“/”椎间盘的问题

然而,经过几个小时的讨论,我仍然不明白它是从哪里来的。为什么会出现关于“索引”的错误消息

我的目标是使我的df成为一个表


Tags: 数据数据库目标dfconnector错误mysqlcursor
1条回答
网友
1楼 · 发布于 2024-04-19 02:58:41

默认情况下^{}尝试将数据帧索引导出为列。您应该能够更改以下内容: df.to_sql(name='Robes', con=engine, if_exists = 'append')

为此: df.to_sql(name='Robes', con=engine, if_exists = 'append', index = False)您将不会再收到相同的错误

相关问题 更多 >