python - 如何在我的 python 项目中包含数据提取模块?
问题描述
我目前正在 python 中启动一个更大的项目,我不确定如何最好地构建它。或者换句话说,如何以最“pythonic”的方式构建它。让我试着解释一下主要功能:
它应该是一个工具或工具集,通过它可以从不同来源提取数据,目前主要是 SQL 数据库,将来也可能来自存储在某些网络位置的文件中的数据。它可能包括三个主要部分:
一个数据模型,它将保存从文件/SQL 中提取的所有数据。这将是其类/实例的某种组合。这里没什么大不了的
一个或多个脚本,它将控制一切(是否应该显示数据?输出到另一个文件中?究竟需要获取哪些数据?等等)也非常简单
还有一些模块/类(或多个模块)将处理数据的数据提取。这是我主要挣扎的地方
所以对于实际问题:
我应该将数据模型和“提取器”的类放在一个文件夹/包中,并通过我的“控制脚本”从包外部访问它们吗?还是我应该把所有东西放在一起?
我应该如何构建“提取器”?我已经为一个模块/类尝试了三种不同的方法
SqlReader
:我试着让它只是一个简单的模块,而不是一个类,但我并没有真正找到一个干净的方法来初始化它。(需要设置 Sql 连接)我尝试将其设为一个类并创建一个实例,但随后我需要将此实例传递给数据模型的不同类,因为每个类都需要能够提取数据。我尝试将其设为静态类(将所有内容定义为@classmethod
),但我不喜欢设置它,而且感觉有点不对。主脚本是否应该“知道”提取器模块?还是应该只与数据模型本身交互?如果没有,又是一个问题,在哪里、何时以及如何初始化
SqlReader
最后但并非最不重要的一点是,如何确保在脚本结束时关闭 SQL 连接?意思是,即使它以错误结束。
cx_oracle
顺便说一句,我正在使用
我对任何提示/建议/答案等感到高兴 :)
解决方案
对于这个项目,您将需要基本的数据科学工具包:Pandas、Matplotlib,也许还有 numpy。您还需要 SQLite3(内置)或其他 SQL 模块来处理数据库。
Pandas:用于提取、操作、分析数据。
Matplotlib:可视化数据,制作人类可读的图表以进行进一步的数据分析。
Numpy:构建快速、稳定的数据数组,其工作速度比 python 的列表快得多。
现在,这只是一个指南,您需要深入挖掘他们的文档,然后在项目中使用您需要的东西。希望这就是你要找的!干杯
推荐阅读
- keras - 展开模型层
- python-3.x - Python - 'int' 对象不可调用
- plsql - 用 sql spool 文件中的普通空格替换 TAB 空格
- ionic4 - 如何在离子中删除项目内边框
- java - 如何将变量从主方法类转移到另一个类?
- flutter - 您如何调用一个未来,然后将该返回值传递给另一个未来以运行?
- wso2 - WSO2 EntitlementPolicyAdminService 使用 Rest API
- android - 如何在 android Oreo 及以上版本中跟踪用户
- python-3.x - 如何使用循环将结果分配给矩阵乘法中的新矩阵
- javascript - Javascript从存储在索引中的数组中的对象获取键