[Большой txt ~1 гб] как обработать?
Прогоните файл утилитой sort (если используете linux). На выходе получите файл, который будет отсортирован. А дальше дело техники, файл в память грузить не надо. Читаете построчно и суммируете z. Как только поменялись x или y - обнуляем z и считаем для следующей пары.
Если вам нужно делать это постоянно и скорость важна как воздух, то выбирайте С++. Вариант на c++ примерно такой:
1) Считать весь файл в память.
2) Распарсить каждую строчку (вручную, так как у встроенных функций есть оверхед)
3) Для подсчета суммы используем контейнер map<pair<int, int>, int> result;
get_parse(val1, val2, val3);
result[std::make_pair(val1, val2)] += val3;
4) Пишем весь контейнер в память (ручной функцией), сохраняем на диск.
SQL будет точно самым медленным решением. Если хотите воспользоваться питоном, то используйте библиотеку Pandas (stackoverflow.com/questions/15570099/pandas-pivot-... или Numpy (но тогда без текстов, сами пример ищите)