我正在通过http请求从服务器检索结构化数字数据(浮点数2-3个十进制空格)。数据以一组数字的形式输入,然后转换成一个数组/列表。然后我想把每一组数据本地存储在我的计算机上,这样我就可以进一步操作它了。
由于需要收集的数据集非常多,仅仅将每个数据集写入.txt文件似乎效率不高。另一方面,我知道有各种各样的解决方案,如mongodb、python-to-sql接口等等,但我不确定应该使用哪种解决方案,以及哪种解决方案对于这个场景是最合适和最有效的。
此外,所创建的数据库必须能够接口并从不同语言(如Matlab)查询。
最佳答案
如果您只想将它存储在某个地方,以便Matlab可以使用它;从数据库supported by matlab中选择您的选择,然后为该数据库安装适当的Python驱动程序。
python中的所有数据库都有一个标准api(称为dbapi),因此有一种处理数据库的统一方法。
由于您没有告诉我们以后如何处理这些数据,因此很难提供任何进一步的细节。
我想把所有的数据下载到
我的机器以便以后在本地操作(运行分析
并对其执行某些数学运算)而不是
不断地从服务器调用它。
为此,您可以使用从文本文件到Matlab支持的任何数据库的任何存储机制,因为Matlab支持的所有数据库都由Python支持。
您可以选择将数据存储为“文本”,然后在应用程序端(即,Matlab端)进行数值计算。或者您可以选择将数据存储为numbers/float/decimal(取决于您需要的精度),这将允许您在数据库端进行一些计算。
如果您只想将其存储为文本并在应用程序端进行计算,那么最简单的选项是mongodb,因为它没有模式。您可以将数据存储为json格式,这可能是从web检索到的格式。
如果您希望利用一些数学函数或其他功能(例如地理空间计算),那么更好的选择是您熟悉的传统数据库。您必须创建一个模式并为每个传入的数据对象定义数据类型;然后适当地存储它们,以便利用数据库的查询功能。
关于python - Python,高效计算的数据存储方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37246342/