Escrever dicionário de Python para CSV onde onde chaves = colunas, valores = linhas

Eu tenho uma lista de dicionários que eu quero ser capaz de abrir no Excel, formatado corretamente. Isto é o que eu tenho até agora, usando csv:

list_of_dicts = [{'hello': 'goodbye'}, {'yes': 'no'}]
out_path= "/docs/outfile.txt"
out_file = open(ipath, 'wb')

writer = csv.writer(ofile, dialect = 'excel')

for items in list_of_dicts:
    for k,v in items.items():
        writer.writerow([k,v])

Obviamente, quando abro a saída no Excel, é formatado assim:

key  value
key  value

O que eu quero é isso:

key   key   key

value value value

Eu não consigo descobrir como fazer isso, então a ajuda seria apreciada. Além disso, eu quero que os nomes das colunas sejam as do dicionário, ao invés do padrão 'A, B, C' etc. Desculpe se isso é estúpido.

obrigado

questionAnswers(2)

yourAnswerToTheQuestion