在Python中,将数据存入数据库通常需要以下步骤:
1. 导入数据库连接库。
2. 建立数据库连接。
3. 创建数据库表(如果需要)。
4. 插入数据。
5. 提交更改并关闭连接。
使用sqlite3模块
import sqlite3连接到SQLite数据库conn = sqlite3.connect('example.db')cursor = conn.cursor()创建表cursor.execute('''CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY,name TEXT,age INTEGER)''')插入数据cursor.execute('INSERT INTO users (name, age) VALUES (?, ?)', ('Alice', 25))提交更改conn.commit()关闭连接conn.close()
使用pymysql模块
import pandas as pdimport pymysql读入数据filepath = 'E:\_DataSet\catering_sale.xls'data = pd.read_excel(filepath)建立数据库连接db = pymysql.connect('localhost', 'root', '1234', 'python_analysis')cursor = db.cursor()创建数据库try:cursor.execute('CREATE TABLE catering_sale (num int PRIMARY KEY, date datetime, sale float)')except:print('数据库已存在!')插入数据query = 'INSERT INTO catering_sale (num, date, sale) VALUES (%s, %s, %s)'values = [(data.iloc[r, 0], data.iloc[r, 1], data.iloc[r, 2]) for r in range(len(data))]批量插入数据cursor.executemany(query, values)提交事务db.commit()关闭游标和连接cursor.close()db.close()
使用psycopg2模块
import psycopg2连接到PostgreSQL数据库conn = psycopg2.connect(host='localhost',database='your_database',user='your_username',password='your_password')创建游标cursor = conn.cursor()创建表create_table_query = '''CREATE TABLE IF NOT EXISTS your_table (id SERIAL PRIMARY KEY,column1 VARCHAR(255),column2 VARCHAR(255))'''cursor.execute(create_table_query)插入数据insert_data_query = 'INSERT INTO your_table (column1, column2) VALUES (%s, %s)'data = [('value1', 'value2'),('value3', 'value4')]cursor.executemany(insert_data_query, data)提交事务conn.commit()关闭游标和连接cursor.close()conn.close()
使用pandas和SQLAlchemy批量插入数据
import pandas as pdfrom sqlalchemy import create_engine读入数据df = pd.read_csv('file.csv')创建数据库连接engine = create_engine('sqlite:///example.db')将数据批量插入数据库df.to_sql('table_name', engine, if_exists='append', index=False)

