Python Łączenie plików csv, gdzie klucz jest wartością pierwszej kolumny

Próbuję połączyć dwa pliki csv, gdzie kluczem jest wartość pierwszej kolumny. Nie ma nagłówka.
Pliki mają różną liczbę linii i wierszy.
Kolejność plików a musi zostać zachowana.

Plik a:

john,red,34
andrew,green,18
tonny,black,50
jack,yellow,27
phill,orange,45
kurt,blue,29
mike,pink,61

plik b:

tonny,driver,new york
phill,scientist,boston

pożądany rezultat:

john,red,34
andrew,green,18
tonny,black,50,driver,new york
jack,yellow,27
phill,orange,45,scientist,boston
kurt,blue,29
mike,pink,61

Sprawdziłem wszystkie powiązane wątki i jestem pewien, że niektórzy z was zaznaczą to pytanie duplikatem, ale po prostu nie znalazłem jeszcze rozwiązania.

Chwyciłem rozwiązanie oparte na słowniku, ale to podejście nie obsługuje zachowania kolejności linii z pliku „a”.

import csv
from collections import defaultdict

with open('a.csv') as f:
    r = csv.reader(f, delimiter=',')
    dict1 = {}
    for row in r:
        dict1.update({row[0]: row[1:]})

with open('b.csv') as f:
    r = csv.reader(f, delimiter=',')
    dict2 = {}
    for row in r:
        dict2.update({row[0]: row[1:]})

result = defaultdict(list)

for d in (dict1, dict2):
    for key, value in d.iteritems():
        result[key].append(value)

Chciałbym również uniknąć umieszczania tych plików csv w bazie danych, takich jak sqlite lub za pomocą modułu pandas.

Z góry dziękuję

questionAnswers(1)

yourAnswerToTheQuestion