流和(反)序列化没有本地封装的s3对象

s3-streaming的Python项目详细描述


License: MIT

S3流:处理(大)S3文件,如常规文件

在s3中存储、检索和使用文件是一项常规活动,因此应该很容易。它也应该…

  • 数据流
  • 有一个类似python文件io的api
  • 处理一些去searization和压缩的东西,因为为什么不

安装

pip install s3-streaming

流式处理S3对象,如常规文件

基础知识

打开和读取s3对象类似于常规的python io。唯一的区别是你需要提供 boto3.session.Session处理bucket访问的实例。

importboto3froms3streamingimports3_openwiths3_open('s3://bucket/key',boto_session=boto3.session.Session())asf:fornext_lineinf:print(next_line)

在流中注入反序列化和压缩处理

考虑一个压缩文件gzip,包含json行。在处理这个问题上有一些样板, 但为什么要麻烦呢?在溪流中处理。

froms3streamingimports3_open,deserialize,compressionreader_settings=dict(boto_session=boto3.session.Session(),deserializer=deserialize.json_lines,compression=compression.gzip)withs3_open('s3://bucket/key.gzip',**reader_settings)asf:fornext_lineinf:print(next_line.keys())# because the file was decompressed ...print(next_line.values())#   ... and the json is now a loaded dict!

其他选项包括

  • csv
  • csv_as_dict
  • tsv
  • tsv_as_dict

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

推荐PyPI第三方库


热门话题
当IntellijIDEA打开时,java Gluon SceneBuilder不会打开FXML文件   java在启动tomcat后执行某些操作   如何在Java中使用Google Cloud语音API在识别语音时录制音频   Java端口转发性能   写入Java项目文件夹中的txt文件   使用java中的命令提示符cmd   对象类型方法的java assertequal   java如何通过应用程序在设备上更新Android操作系统   java是否可以在@BeforeClass注释方法中运行Android Espresso单元测试?   java如何使用JMS API将NACK从Solace侦听器发送到Solace队列?   如何将Java和C集成到同一个项目中?   Android中的java安装\u失败\u冲突\u提供程序   java时间输入和显示   使用GAE数据存储对实体用户进行java身份验证时返回null   netbeans向Java运行时添加本机DLL时出现问题(JIntellitype)