Pandas 数据框到 Azure mysql

问题描述 投票:0回答:1

我正在尝试将 pandas 数据框保存到 mysql MS Azure 数据库中。我有一个证书文件和一个成功的连接(我认为)。但由于某种原因,熊猫

to_sql
方法将无法正常工作,因为出现以下错误:

pandas.errors.DatabaseError: 在 sql 'SELECT name FROM 上执行失败 sqlite_master WHERE type='table' AND name=?;': 不是所有参数 在字符串格式化期间转换

将数据帧保存到 azure mysql 数据库时,我需要注意什么吗?

这是我的代码:

import pandas as pd
import pymysql

df = pd.read_csv('files/exports//table.csv')
print(df.head())
conn = pymysql.connect(host='DNS name of my database',
                       user='user',
                       passwd="password",
                       db='databasename',
                       ssl_ca="somecert.crt.pem",
                       ssl_disabled=False)

df.to_sql(con=conn, name='tablename')

很高兴能得到任何帮助。

最好的问候,

安德烈

python pandas dataframe mysql-connector
1个回答
0
投票

正如 JNevill 所建议的那样,解决方案是更改与 sqlalchemy 的连接。这是有效的代码:

import mysql.connector
import pandas as pd
import sqlalchemy
database_connection = sqlalchemy.create_engine('mysql+mysqlconnector://user:password@server-dns-name/database',connect_args={
            "ssl_ca": "paththothecertfile.pem"} )


df = pd.read_csv('table.csv')
df.to_sql(con=database_connection, name='table',if_exists='replace')
© www.soinside.com 2019 - 2024. All rights reserved.