【问题标题】:Python ORM - save or read sql data from/to filesPython ORM - 从文件中保存或读取 sql 数据
【发布时间】:2016-07-06 09:31:05
【问题描述】:

我对使用数据库管理数据完全不熟悉,所以我希望我的问题不是太愚蠢,但我没有找到任何与使用标题关键字相关的内容...

我想建立一个 SQL 数据库来存储计算结果;这些是使用 python 库执行的。我的想法是使用像 SQLAlchemy 或 peewee 这样的 Python ORM 将结果存储到数据库中。 然而,计算是由几个人在许多不同的机器上完成的,包括一些没有直接连接到互联网的机器:因此不可能简单地使用一个通用数据库。

对我有用的是一种将数据保存为 ORM 格式的方法,以便在我将数据传输到可以访问主数据库的机器后直接再次读取它。

总而言之,我想做:

  • 在第一台机器上:Python 数据 -> ORM 对象 -> ORM.fileformat
  • 在连接的机器上传输后:ORM.fileformat -> ORM 对象 -> SQL 数据库

有人知道现有的 ORM 是否提供这种功能吗?

【问题讨论】:

  • 您可以将其存储为任何格式,然后在连接时将其传输到主数据库,您所需要的只是一致的格式,因此传输很容易,然后您只需要一个数据库即可本地机器。
  • 是的,我的问题是现有的 ORM 是否已经提供了此功能,以便为我省去编写和解析文件的麻烦……这很痛苦
  • 你要么设置一个你说你不能的通用数据库,你在每台机器上设置一个,并在你连接时对主数据库进行更新,你评论答案可能不太容易在您的集群上,或者您将数据保存在一些本机 python 容器中并在连接时进行更新。除了这三个选项之外,我看不出你还能做什么。一旦格式一致,编写一个通用函数将是一项一次性任务,应该非常简单,dev.mysql.com/doc/refman/5.7/en/load-data.html
  • 好的,谢谢你的链接,我去看看!

标签: python mysql database orm


【解决方案1】:

好的, 感谢 MAhsan 和 Padraic 的回答,我能够找到如何做到这一点:CSV 格式确实很容易用于从数据库导入/导出。

以下是 SQLAlchemy(import 1import 2export)和 peewee 的示例

【讨论】:

【解决方案2】:

是否有部分机器无法上网的原因?

如果你真的不能,我会在每台收集/生成数据的机器上设置一个数据库和 Python 应用程序。让每台机器使用该应用程序将数据存储到自己的本地数据库中,然后您可以从每台机器创建每个数据库的转储,并将这些结果导入到一个数据库中。

不是理想的解决方案,但它会起作用。

【讨论】:

  • 是的:出于安全原因,因为我们在超级计算机(我们不拥有)上运行我们的一些计算谢谢您的回答,如果事实证明没有其他...虽然我不知道在集群上运行mysql数据库是否容易^^
  • 好吧,如果您无法在这些机器上安装数据库,那么您可以将数据转储到 CSV 文件中。我确实相信 MySQL 支持使用 CSV 文件将数据导入表中。
猜你喜欢
  • 2016-04-02
  • 2020-03-25
  • 1970-01-01
  • 2013-11-04
  • 2017-10-24
  • 2022-01-15
  • 2021-03-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多