平面文件中的时间序列存储。

teafiles的Python项目详细描述


时间序列周期

这个python包根据teafile文件格式以平面文件的形式提供时间序列存储。

使用中

>>> tf = TeaFile.create("acme.tea", "Time Price Volume", "qdq", "ACME at NYSE", {"decimals": 2, "url": "www.acme.com" })
>>> tf.write(DateTime(2011, 3, 4,  9, 0), 45.11, 4500)
>>> tf.write(DateTime(2011, 3, 4, 10, 0), 46.33, 1100)
>>> tf.close()
>>> tf = TeaFile.openread("acme.tea")
>>> tf.read()
TPV(Time=2011-03-04 09:00:00:000, Price=45.11, Volume=4500)
>>> tf.read()
TPV(Time=2011-03-04 10:00:00:000, Price=46.33, Volume=1100)
>>> tf.read()
>>> tf.close()

在应用程序/操作系统之间交换时间序列

您可以使用

  • 右,
  • C++,
  • c或
  • 其他应用程序

打开

  • Linux、Unix,
  • Mac操作系统
  • 窗口

teafiles

teafiles是一种非常简单的,但非常高效的存储时间序列数据的方法 提供C++、C语言或R、倍频程等应用程序之间的数据交换, Matlab,运行在Linux、Unix、MacOSX或Windows上。

  • binary由ieee 754格式的基本数据类型signed和unsigned integers、double和float组成的数据前面有一个包含项结构和内容描述的header
  • 数据可以通过内存映射直接访问。
  • teafiles是自描述的:包含对项结构的描述,它们消除了直接二进制文件的不透明性。知道一个文件是teafile就足以访问它的数据。

链接到规范http://tbd

python api的作用域

python api使得tea文件在任何地方都可以访问。它只需要在任何操作系统上安装python来检查描述和数据 茶水文件:

>>> # Show the decimals and displayname for all files in a folder:
...
>>> def showdecimals():
    ...     for filename in os.listdir('.'):
    ...         with TeaFile.openread(filename) as tf:
    ...             nvs = tf.description.namevalues
    ...             print('{} {} {}'.format(filename, nvs.get('Decimals'), nvs.get('DisplayName')))
    ...
    >>> showdecimals()
    AA.day.tea 2 Alcoa, Inc.
    AA.tick.tea 2 Alcoa, Inc.
    AXP.day.tea 2 American Express Co.
    ...

从web服务下载数据也很合适。请参阅包源代码中的examples.py文件,以获取大约30行的Yahoo Finance下载功能。

限制

当涉及到非常大的时间序列文件的高性能处理时,该API目前的速度不如C++和C语言API(即将在^ {A3}上出现的数字)快。如果有必要的话,有很多方法可以改进这一点,但目前在Discretelogics没有这样做的计划。建议使用其他语言/api。如果您希望python api更快,或者希望使用它,请与我们联系。

安装

$pip安装teafiles

使用examples.py在http://bitbucket.org/discretelogics/teafiles.py

测试

从包根目录运行单元测试

$python-m pytest.test

Python2.7/3.2

根据CPython 2.7测试包。 python 3.2计划的

作者

这个api是由discretelogics、公司在时间序列分析和事件处理方面的特殊功能带给您的。 http://tbd

0.7版

当前版本由doctests和一些pytests进行了合理的测试。更好的单元测试覆盖率(目前使用pytest) 是可取的。

1.0版待定
  • 增强pytest覆盖率
  • 考虑API反馈
  • 清理测试运行,清理测试文件
可选
  • 在python 3中对其进行度量后,提高性能(可能struct module在其中起着次要的作用)

许可证

此软件包在GNU通用公共许可下发布,请参阅license.txt。

反馈

欢迎光临:pythonapi@discretelogics.com

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
隐写术中随机lsb位的java访问   java如何使用GZIP压缩Http Post正文   java Mockito的when()不是stubing超类的方法   java安卓:片段中的Setter&在recycleServiceAdapter中获取字符串   用JDBC进行简单的客户端中间件仿真   JavaF:param返回null?   Java413语音错误   java获取子文档中的数据   启用持久性的java嵌入式HornetQ无法使用编程配置启动   运行spring引导jar工件时出现java“在METAINF/spring.factories中找不到自动配置类”错误   java如何格式化Spring引导的GET请求中的对象   swing Java填充自定义形状   Java仅在超类中处理序列化   在java应用程序中使用ftp4j库下载/上载时发生FTP错误   java准备语句作为sql参数