iris.csv文件:4个特征数据,1个标签数据(0,1,2表示)。 使用pandas读取iris.csv文件,然后作为一个数据库表"iristab"写入MySQL数据库"studentdb"中。 从MySQL数据库studentdb中读出iris数据,把保存为一个Excel文件。
时间: 2024-02-21 11:00:28 浏览: 20
首先,我们需要先安装必要的库和模块:
```python
!pip install pandas
!pip install pymysql
```
然后,我们可以按照如下步骤将 iris.csv 文件写入 MySQL 数据库中:
1. 导入必要的库和模块:
```python
import pandas as pd
import pymysql
from sqlalchemy import create_engine
```
2. 使用 Pandas 读取 iris.csv 文件:
```python
iris_df = pd.read_csv('iris.csv')
```
3. 连接 MySQL 数据库:
```python
host = 'localhost' # 数据库主机地址
port = 3306 # 数据库端口号
user = 'root' # 数据库用户名
password = '123456' # 数据库密码
database = 'studentdb' # 数据库名
engine = create_engine(f'mysql+pymysql://{user}:{password}@{host}:{port}/{database}')
```
4. 将 iris_df 数据框写入 MySQL 数据库:
```python
table_name = 'iristab' # 表名
iris_df.to_sql(table_name, engine, index=False, if_exists='replace')
```
至此,我们已经将 iris.csv 文件写入 MySQL 数据库中。接下来,我们可以按照如下步骤将数据从 MySQL 数据库中读出,并保存为 Excel 文件:
1. 从 MySQL 数据库中读取数据:
```python
query = f'SELECT * FROM {table_name}'
iris_df_from_mysql = pd.read_sql(query, engine)
```
2. 将数据保存为 Excel 文件:
```python
excel_file_name = 'iris_data.xlsx'
iris_df_from_mysql.to_excel(excel_file_name, index=False)
```
完整代码如下:
```python
import pandas as pd
import pymysql
from sqlalchemy import create_engine
# 读取 iris.csv 文件
iris_df = pd.read_csv('iris.csv')
# 连接 MySQL 数据库
host = 'localhost' # 数据库主机地址
port = 3306 # 数据库端口号
user = 'root' # 数据库用户名
password = '123456' # 数据库密码
database = 'studentdb' # 数据库名
engine = create_engine(f'mysql+pymysql://{user}:{password}@{host}:{port}/{database}')
# 将 iris_df 数据框写入 MySQL 数据库
table_name = 'iristab' # 表名
iris_df.to_sql(table_name, engine, index=False, if_exists='replace')
# 从 MySQL 数据库中读取数据
query = f'SELECT * FROM {table_name}'
iris_df_from_mysql = pd.read_sql(query, engine)
# 将数据保存为 Excel 文件
excel_file_name = 'iris_data.xlsx'
iris_df_from_mysql.to_excel(excel_file_name, index=False)
```
注意:在运行上述代码之前,需要先创建 MySQL 数据库,并在其中创建一个名为 "iristab" 的表。可以使用如下 SQL 语句进行创建:
```sql
CREATE TABLE iristab (
sepal_length FLOAT NOT NULL,
sepal_width FLOAT NOT NULL,
petal_length FLOAT NOT NULL,
petal_width FLOAT NOT NULL,
species INT NOT NULL
);
```