针对不同的数据源结构,可以采用不同的数据模型进行存储和处理。以下是一些示例:
例1:针对关系型数据库 采用关系模型进行数据存储和处理,使用SQL语言进行数据操作。
使用Python的SQLAlchemy库可以方便地操作关系型数据库,示例代码如下:
from sqlalchemy import create_engine, Column, Integer, String
from sqlalchemy.orm import sessionmaker
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
class User(Base):
__tablename__ = 'users'
id = Column(Integer, primary_key=True)
name = Column(String)
age = Column(Integer)
engine = create_engine('postgresql://user:password@localhost/mydatabase')
Base.metadata.create_all(engine)
Session = sessionmaker(bind=engine)
session = Session()
# 创建新用户
new_user = User(name='Alice', age=25)
session.add(new_user)
session.commit()
# 查询用户
users = session.query(User).all()
for user in users:
print(user.name, user.age)
例2:针对NoSQL数据库 采用文档模型进行数据存储和处理,使用MongoDB查询语言进行数据操作。
使用Python的PyMongo库可以方便地操作MongoDB数据库,示例代码如下:
from pymongo import MongoClient
client = MongoClient('localhost', 27017)
db = client['mydatabase']
collection = db['users']
# 插入新用户
new_user = {'name': 'Alice', 'age': 25}
collection.insert_one(new_user)
# 查询所有用户
users = collection.find()
for user in users:
print(user['name'], user['age'])
例3:针对CSV文件 采用表格模型进行数据存储和处理,使用Python的pandas库进行数据操作。
使用以下代码可以读取CSV文件并进行数据操作:
import pandas as pd
df = pd.read_csv('users.csv')
df['age'] = df['dob'].apply(lambda x: 2021 - int(x.split('/')[