设有数据文件student.csv,请设计程序将此文件中的数据导入SQLite数据库或MySQL数据库stu.db的表data中,并对其中的数据进行插入、删除、更改、查询操作。
时间: 2024-03-09 08:49:39 浏览: 243
Python解析excel文件存入sqlite数据库的方法
好的,我可以为您提供一个Python程序来完成这个任务。在运行之前,请确保您已经安装了相应的Python库:pandas、sqlite3和MySQLdb。
首先,我们需要读取csv文件并将其转换为pandas DataFrame:
```python
import pandas as pd
data = pd.read_csv('student.csv')
```
接下来,我们将数据导入SQLite数据库:
```python
import sqlite3
# 连接数据库
conn = sqlite3.connect('stu.db')
# 将data DataFrame 导入数据库
data.to_sql('data', conn, if_exists='replace', index=False)
```
现在,我们可以执行插入、删除、更改和查询操作了。以下是一些示例:
```python
# 插入新数据
new_data = pd.DataFrame({'name': ['Tom'], 'age': [20], 'gender': ['M']})
new_data.to_sql('data', conn, if_exists='append', index=False)
# 删除年龄小于18的学生
conn.execute("DELETE FROM data WHERE age < 18")
# 更新名为Alice的学生的性别为女性
conn.execute("UPDATE data SET gender='F' WHERE name='Alice'")
# 查询所有学生的姓名和性别
result = pd.read_sql_query("SELECT name, gender FROM data", conn)
print(result)
```
类似地,我们可以将数据导入MySQL数据库。以下是示例代码:
```python
import MySQLdb
# 连接数据库
conn = MySQLdb.connect(host='localhost', user='root', passwd='password', db='stu')
# 将data DataFrame 导入数据库
data.to_sql('data', conn, if_exists='replace', index=False)
# 插入新数据
new_data = pd.DataFrame({'name': ['Tom'], 'age': [20], 'gender': ['M']})
new_data.to_sql('data', conn, if_exists='append', index=False)
# 删除年龄小于18的学生
conn.execute("DELETE FROM data WHERE age < 18")
# 更新名为Alice的学生的性别为女性
conn.execute("UPDATE data SET gender='F' WHERE name='Alice'")
# 查询所有学生的姓名和性别
result = pd.read_sql_query("SELECT name, gender FROM data", conn)
print(result)
```
请注意,MySQLdb库需要在安装之前手动下载并安装。您还需要将代码中的主机名、用户名、密码和数据库名称替换为您自己的值。
阅读全文