streamly是一个非常简单但功能强大的流包装器。

Streaml的Python项目详细描述


streamly是一个非常简单但功能强大的流(类似文件的对象)包装器。它主要设计用于帮助在实时读取操作期间清除平面数据。

在数字营销中特别流行的一个典型用例是,希望将web流下载/上载到某个目标位置,该位置期望干净、平分界线的数据,但流包含不需要的页眉和页脚数据。开发人员通常通过将数据按原样加载到临时位置,然后打开文件并剔除不需要的行首和行尾来处理此问题。这种方法有效,但局限性包括:不容易重现;增加解决方案的复杂性;假设存储组件;对大数据集效率低下。

streamly通过以高效的方式动态处理不需要的页眉和页脚来解决这个问题。

文档:https://streamly.readthedocs.io

安装

需要Python 3.1+

pipenv

安装:

pipenv install streamly

更新:

pipenv update streamly

pip

安装和更新:

pip install streamly --upgrade

示例用法

下面的示例将字节流写入文件,动态删除不需要的页眉和页脚详细信息。

importioimportstreamlymy_stream=io.BytesIO(b"""Header
Metadata
Unwanted
=
Garabage

Report Fields:
col1,col2,col3,col4,col5
data,that,we,actually,want
and,potentially,loads,of,it,
foo,bar,baz,lorem,ipsum
foo,bar,baz,lorem,ipsum
foo,bar,baz,lorem,ipsum
...,...,...,...,...
Grand Total:,0,0,1000,0
More
Footer
Garbage
""")wrapped_stream=streamly.Streamly(my_stream,header_row_identifier=b"Report Fields:\n",footer_identifier=b"Grand")data=wrapped_stream.read(50)whiledata:print(data)data=wrapped_stream.read(50)

功能

在动态读取操作期间包括以下功能:

  • 多个流的邻接
  • 删除由值(例如字节字符串或字符串)标识的页眉和页脚数据
  • 记录读取进度
  • 保证读取大小(数据尚未用尽时)
  • 返回字节字符串或字符串的流的一致api

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

推荐PyPI第三方库


热门话题
java Restlet方法和用户授权   cmake java演示项目无法使用我的清单创建“jar”。MF   java Tapestry 5用户身份验证   java和数组列表到整数   java由于某些原因,它不会添加到arrayList中   java从包外部获取对字段的packagelevel访问权限?   java Docker容器无法上载基于EMR的Hadoop   java数据源。找不到groovy。Grails2.4.4   java如何将“查找或创建”方法提取到抽象类?(Spring数据Jpa)   数组Java使用Gson将对象值更新为json文件   sqlite Swing JavasqlLite相对路径连接   java IllegalStateException和NoTouchElementException之间有什么区别   Spring中的java JDBC模板出现异常   java如何在这种通用方法中避免SuppressWarnings(“未检查”)?   HPQC OTA客户端Java API获取测试用例历史记录   大家好。我在主类中有getUserData方法。我想从主类调用这个方法。有人能帮我吗?