外部排序算法实现。

ext-sort的Python项目详细描述


Build statusLicenseSupported Python versions

外部排序算法实现。外部排序是一类能够处理大量 数据量当被排序的数据不适合主存储器(RAM)时,需要外部排序 计算机必须放在较慢的外部存储器中,通常是硬盘驱动器。 分两次分拣在第一次传递过程中,它对每个内存中的数据块进行排序, 在第二次传递过程中,它将已排序的块合并在一起。 有关详细信息,请参见https://en.wikipedia.org/wiki/External_sorting

相容性

ext sort需要3.6+

安装

您可以使用pip:

安装ext sort
$ pip install ext-sort

快速启动

快速启动

importcsvimportioimportloggingimportext_sortasesclassCSVSerializer(es.Serializer):def__init__(self,writer):super().__init__(csv.writer(io.TextIOWrapper(writer,write_through=True)))defwrite(self,item):returnself._writer.writerow(item)classCSVDeserializer(es.Deserializer):def__init__(self,reader):super().__init__(csv.reader(io.TextIOWrapper(reader)))defread(self):returnnext(self._reader)logging.basicConfig(level=logging.DEBUG,format='[%(levelname)-8s] %(asctime)-15s (%(name)s): %(message)s',)withopen('/home/user/data.csv','rb')asunsorted_file,open('/home/user/data.sorted.csv','wb')assorted_file:# save the csv headersorted_file.write(unsorted_file.readline())es.sort(reader=unsorted_file,writer=sorted_file,chunk_size=10_000_000,Serializer=CSVSerializer,Deserializer=CSVDeserializer,workers_cnt=4,)

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

推荐PyPI第三方库


热门话题
如何用java表示这个数学函数的算法   Java/Stream帮助:仅使用streams将嵌套的映射列表转换为映射   使用Selenium连接到数据库时发生java未知主机异常   java如何了解jvm内存使用:“堆内存”和“堆外内存”   java Oracle BI报告导入模板   java如何使用Spring将xml转换为bean?   java线程。join()以保证执行顺序   java从THINGSPEAK到ANDROID应用程序获取JSON数据   使用Java的stanford库中的异常   java正确使用来自其他类文件的方法   如果集合中的元素类型为接口类型,如何填充集合?(爪哇)   记录java。util。记录器创建的文件超过了应有的数量   类Java对象uniq值   尝试调用无法应用于()的方法时出现java错误