提问者:小点点

如何使用Pandas将csv加载到MySQL中?


很抱歉我问了一个很简单的问题。 我已经和熊猫一起工作了一小段时间&; 在将excel文件加载到MSSQL中时,我没有遇到任何困难,但是,对于MySQL,我还没有弄清楚。 我无法下载MySQLdb包,所以我安装了mysql包&; 使用了mysql.connector,如下所示:

import pandas as pd
import mysql.connector as mysql

data = pd.read_excel(r"[my file path]")
df = pd.DataFrame(data, columns=['Name', 'country', 'age', 'gender'])


conn = mysql.connect('Driver={SQL Server};'
                   'Server=[my server name];'
                   'Database=[my database];'
                   'Trusted_Connection=yes;')

cursor = conn.cursor()

print(df)


for row in df.itertuples():
    cursor.execute('''
                INSERT INTO [database].dbo.[table] (Name, country, age, gender)
                VALUES (?,?,?,?)
                ''',
                   row.Name,
                   row.country,
                   row.age,
                   row.gender
                   )
conn.commit()

不知道我该怎么做才能让这一切顺利。


共2个答案

匿名用户

Pandas有许多处理SQL数据库的强大功能。 从excel读取内容,创建df并连接到数据库后,可以简单地使用:

df.to_sql("table_name", conn, if_exists='replace', index=False)

并且将自动创建数据库表的列。 当然,您可以访问上面的链接并使用其他参数。 另外,请记住使用conn.close()关闭数据库连接。

编辑:我想添加如何简单地从数据库中读取数据框架。

df = pd.read_sql("SELECT * FROM table_name", conn)

希望这有用!

匿名用户

除了像前面提到的那样使用dataframe之外,我还想增加一点。 我不完全确定您是否可以安装mysql工作台。 如果是这样,它为您提供了一种将csv文件导入mysql数据库的简单方法。 希望这也有帮助!