Python,计算高效的数据存储方法

2024-03-28 14:00:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在从服务器通过http请求检索结构化的数字数据(浮点2-3个十进制空格)。然后将数据转换成数组/数组。我想把每一组数据本地存储在我的计算机上,这样我就可以进一步操作它了。在

因为有很多这样的数据集需要收集,所以简单地将每个数据集写入一个.txt文件似乎不是很有效。另一方面,我知道有各种各样的解决方案,比如mongodb、python到sql接口等等,但是我不确定我应该使用哪一种,哪一种最适合这种情况,也最有效。在

此外,所创建的数据库必须能够接口和从不同的语言,如MATLAB查询。在


Tags: 文件数据服务器txthttpsqlmongodb计算机
3条回答

我建议使用轻量级的ORM,比如peewee,它可以使用许多SQL数据库作为存储方法。然后就变成了选择所需数据库的问题。使用的最简单的数据库是sqlite,但是如果您认为这不够快,那么切换到另一个数据库(如PostgreSQL或MySQL)是很简单的。在

ORM的优点是可以使用Python语法与SQL数据库交互,而不必学习任何SQL。在

如果您只想将其存储在某个地方,以便MATLAB可以使用它,请从数据库supported by matlab中选择,然后为该数据库安装适当的Python驱动程序。在

Python中的所有数据库都有一个标准API(称为dbapi),因此有一种处理数据库的统一方法。在

由于您还没有告诉我们以后如何处理这些数据,因此很难提供进一步的细节。在


the idea is that i wish to essentially download all of the data onto my machine so that i can operate on it locally later (run analytics and perform certain mathematical operations on it) instead of having to call it from the server constantly.

为此,您可以使用从文本文件到MATLAB支持的任何数据库的任何存储机制—因为所有由MATLAB支持的数据库都受Python支持。在

您可以选择将数据存储为“文本”,然后在应用程序端(即MATLAB端)进行数值计算。或者,您可以选择将数据存储为数字/浮点/十进制(取决于所需的精度),这将允许您在数据库端进行一些计算。在

如果您只想将其存储为文本并在应用程序端进行计算,那么最简单的选择是mongodb,因为它是无模式的。您将把数据存储为JSON格式—这可能是从web检索数据的格式。在

如果您希望利用一些数学函数或其他功能(例如,地理空间计算),那么更好的选择是您熟悉的传统数据库。您必须创建一个模式并为每个传入的数据对象定义数据类型;然后适当地存储它们,以便利用数据库的查询功能。在

你考虑过HDF5吗?它对数值数据非常有效,并且得到Python和Matlab的支持。在

相关问题 更多 >