Source code for merge_small_csv_files

#!/usr/bin/env python
# _*_ coding: utf-8 _*_

from __future__ import print_function
from operator import itemgetter

import karld
from karld.merger import sort_merge_group
from karld.path import i_walk_csv_paths


[docs]def main(): """ Merge a number of homogeneous small csv files on a key. Small means they all together fit in your computer's memory. """ import pathlib input_dir = pathlib.Path('test_data/things_kinds') data_items_iter = (karld.io.i_get_csv_data(data_path) for data_path in i_walk_csv_paths(str(input_dir))) KINDS = 1 groups = sort_merge_group(data_items_iter, itemgetter(KINDS)) for group in groups: print(group[0]) for item in group[1]: print('\t' + item[0]) print()
if __name__ == "__main__": main()