首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python,计算效率高的数据存储方法

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

Stack Overflow用户
提问于 2016-05-16 03:38:00
回答 3查看 996关注 0票数 1

我是检索结构化的数字数据(浮点2-3小数空间)通过http请求从服务器。数据以一组数字的形式输入,然后将其转换为数组/列表。然后,我想将每组数据本地存储在我的计算机上,这样我就可以进一步对其进行操作了。

由于有很多这些数据集需要收集,所以简单地写入.txt文件中的每个数据集似乎不太有效。另一方面,我知道有各种各样的解决方案,比如mongodb、python interfaces...ect,但我不确定应该使用哪种解决方案,以及哪种解决方案最适合和最有效。

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

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-05-16 04:31:07

如果您只想将它存储在某个地方,那么MATLAB就可以使用它;从数据库matlab支持中选择您的选择,然后为该数据库安装相应的驱动程序。

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

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

这个想法是,我希望从本质上将所有数据下载到我的机器上,这样以后我就可以在本地对它进行操作(运行分析并对其执行某些数学操作),而不必一直从服务器调用它。

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

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

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

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

票数 1
EN

Stack Overflow用户

发布于 2016-05-16 04:20:51

我可以推荐使用像小淘气这样的轻量级ORM,它可以使用许多SQL数据库作为存储方法。然后就变成了选择您想要的数据库的问题。可以使用的最简单的数据库是sqlite,但是如果您认为这不够快,那么切换到另一个数据库(如PostgreSQL或MySQL )是非常简单的。

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

票数 1
EN

Stack Overflow用户

发布于 2016-05-16 04:53:03

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37246342

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档