Python使用Pandas库实现MySQL数据库的读写

  • Post category:Python

Python是目前最火热的一门编程语言,它的灵活性、易上手等特点备受开发者青睐。而Pandas则是Python中数据分析领域的强力库,可以将数据导入到内存中,方便地进行数据分析和操作。要实现Python读写MySQL数据库,我们可以使用Pandas库,该库提供了read_sql()方法进行数据导入,to_sql()方法进行数据导出。

下面将详细讲解Python使用Pandas库实现MySQL数据库的读写攻略。

第一步:安装必要的库

由于要使用Python操作MySQL数据库,需要安装pymysql方法,执行以下命令进行安装:

pip install pymysql

同时,需要安装pandas库:

pip install pandas

第二步:连接MySQL数据库

首先需要在Python中建立和MySQL数据库的连接,可以通过import pymysql和pymysql.connect()方法来连接数据库。

import pymysql
import pandas as pd

# 建立连接
conn = pymysql.connect(
    host='localhost',
    port=3306,
    user='root',
    password='123456',
    db='testdb'
)

第三步:读取MySQL数据库的数据

我们可以使用Pandas提供的read_sql()方法,来读取MySQL数据库的数据,并将数据导入到Pandas DataFrame中。

以下是一个示例代码:

# 读取MySQL中employee表的数据,读取到dataframe中
df = pd.read_sql('select * from employee', con=conn)

# 打印读取的结果
print(df)

第四步:将数据写回MySQL数据库

如果需要将Pandas DataFrame中的数据写回到MySQL数据库中,可以使用to_sql()方法,该方法支持将数据写入到MySQL、SQLite、Oracle等数据库中。

以下是一个示例代码:

# 将dataframe中数据写回MySQL的employee表中,如果表存在就追加,如果不存在就建立
df.to_sql('employee', con=conn, index=False, if_exists='append')

# 关闭连接
conn.close()

至此,我们完成了Python使用Pandas库实现MySQL数据库的读写攻略。

示例一:从MySQL中读取数据并进行绘图

我们可以对从MySQL中读取的数据进行加工处理后,进行数据可视化,下面是一个示例代码:

# 建立连接
conn = pymysql.connect(
    host='localhost',
    port=3306,
    user='root',
    password='123456',
    db='testdb'
)

# 读取数据
df = pd.read_sql('select * from employee', con=conn)

# 按照工资降序排列
df_sort = df.sort_values(by='salary', ascending=False)

# 绘制条形图
import matplotlib.pyplot as plt
plt.bar(df_sort['name'], df_sort['salary'])
plt.show()

# 关闭连接
conn.close()

示例二:向MySQL中写入数据

除了读取MySQL数据库中的数据,我们也可以将Pandas数据写回到MySQL数据库中,下面是一个示例代码:

# 建立连接
conn = pymysql.connect(
    host='localhost',
    port=3306,
    user='root',
    password='123456',
    db='testdb'
)

# 新建DataFrame
df_new = pd.DataFrame({
    'name': ['Amy', 'Bob', 'Cindy'],
    'gender': ['F', 'M', 'F'],
    'age': [25, 30, 28],
    'salary': [4000, 5000, 3500]
})

# 将dataframe中数据写回MySQL的employee表中,如果表存在就追加,如果不存在就建立
df_new.to_sql('employee', con=conn, index=False, if_exists='append')

# 关闭连接
conn.close()

以上就是实现Python使用Pandas库实现MySQL数据库的读写的完整攻略,通过学习该攻略,我们可以方便地进行MySQL数据库的操作。