我有一个8GB的文件,在S3中有文本行(每行有一个回车符)。此文件为自定义格式,不遵循任何常见格式,如CSV、pipe、JSON。。。 我需要根据行数将该文件拆分为更小的文件,这样每个文件将包含100000行或更少的行 (假设最后一个文件可以有剩余的行,因此可能少于100000行)
到目前为止,我发现了很多帖子,展示了如何按字节大小而不是按行数进行拆分。 另外,我不想逐行读取该文件,因为它太慢,效率不高
有人能告诉我一个起始代码或方法,可以完成分裂这个6 GB的文件,这将 运行速度快,任何时候都不需要超过10 GB的可用内存(RAM)
我正在寻找所有可能的选择,只要满足上述基本要求
非常感谢
迈克尔
boto3.S3.Client.get_object()
方法提供类型为StreamingBody
的对象作为响应StreamingBody.iter_lines()
方法文档说明:这可能适合您的用例。总的想法是让那个巨大的文件流式传输,并在其内容出现时对其进行处理。如果不以某种方式读取文件,我想不出一种方法来实现这一点
相关问题 更多 >
编程相关推荐