把python的dataframe输入mysql,并自动创建表
时间: 2024-03-09 07:48:52 浏览: 121
Python实现自动sql注入
您可以使用 pandas 库将 DataFrame 数据输入 MySQL 数据库。首先,您需要安装 pymysql 库,它是 Python 连接 MySQL 数据库的库。您可以使用以下命令安装它:
```
pip install pymysql
```
接下来,您可以使用以下代码将 DataFrame 数据输入 MySQL 数据库中:
```python
import pandas as pd
import pymysql
# 输入数据
data = pd.DataFrame({'name': ['Alice', 'Bob', 'Charlie', 'David'],
'age': [25, 30, 35, 40],
'gender': ['F', 'M', 'M', 'M']})
# 数据库连接信息
host = 'localhost'
port = 3306
user = 'root'
password = 'password'
database = 'test'
# 连接数据库并创建表
conn = pymysql.connect(host=host, port=port, user=user, password=password, database=database)
cursor = conn.cursor()
cursor.execute('CREATE TABLE IF NOT EXISTS my_table (name VARCHAR(255), age INT, gender CHAR(1))')
# 将数据写入 MySQL 数据库中
for i, row in data.iterrows():
sql = f"INSERT INTO my_table (name, age, gender) VALUES ('{row['name']}', {row['age']}, '{row['gender']}')"
cursor.execute(sql)
# 关闭数据库连接
conn.commit()
cursor.close()
conn.close()
```
这段代码会将 DataFrame 数据写入名为 my_table 的表中。如果表不存在,则会自动创建。请注意,此代码只是示例代码,实际使用中应该使用参数化查询以避免 SQL 注入攻击。
阅读全文