# Python ETL 示例代码
import pandas as pd
from sqlalchemy import create_engine
# 数据提取 (Extract)
def extract_data():
# 从CSV文件中读取数据
df = pd.read_csv('data.csv')
return df
# 数据转换 (Transform)
def transform_data(df):
# 假设我们要对数据进行一些简单的转换,例如删除缺失值和重命名列
df_cleaned = df.dropna()
df_cleaned = df_cleaned.rename(columns={'old_column_name': 'new_column_name'})
return df_cleaned
# 数据加载 (Load)
def load_data(df, db_connection_string):
# 将数据加载到数据库中
engine = create_engine(db_connection_string)
df.to_sql('target_table', con=engine, if_exists='replace', index=False)
# 主函数
def main():
# 提取数据
data = extract_data()
# 转换数据
transformed_data = transform_data(data)
# 加载数据
db_connection_string = 'postgresql://username:password@localhost:5432/mydatabase'
load_data(transformed_data, db_connection_string)
if __name__ == "__main__":
main()
提取 (Extract):
extract_data
函数从 CSV 文件中读取数据,并返回一个 Pandas DataFrame。转换 (Transform):
transform_data
函数对提取的数据进行清洗和转换。这里我们简单地删除了缺失值,并重命名了一列。加载 (Load):
load_data
函数将转换后的数据加载到目标数据库中。使用 SQLAlchemy 创建数据库连接,并将 DataFrame 写入数据库表。主函数:
main
函数是程序的入口点,依次调用提取、转换和加载函数来完成整个 ETL 流程。这个示例展示了如何使用 Python 和 Pandas 库来实现一个简单的 ETL 流程。你可以根据实际需求修改和扩展这些步骤。
上一篇:python str 转int
下一篇:python list拼接
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站