很抱歉我问了一个很简单的问题。 我已经和熊猫一起工作了一小段时间&; 在将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()
不知道我该怎么做才能让这一切顺利。
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数据库的简单方法。 希望这也有帮助!