python3にて以下スクリプトを作成したのですが、タイムスタンプが重複した際に、辞書型だと抽出することができないので、リスト型にしてタイムスタンプが重複する際もすべて抽出したいです。
簡単に行う方法はないでしょうか。
宜しくお願い致します。

import os
import csv
from collections import defaultdict


def logparser(filepath):
    """ ログファイルからデータを抽出 """
    datastore = defaultdict(dict)
    with open(filepath) as f:
        for textline in f.readlines():
            try:
                textline = textline.rstrip('\n')
                items = textline.split()
                timestamp = textline[:23]
                datastore[timestamp]['タイムスタンプ'] = timestamp
                if items[-2] == 'INFO:':
                    datastore[timestamp]['リクエスト内容'] = textline.split('INFO: ')[1]
                if 'rcmd_type' in items:
                    datastore[timestamp]['rcmd_type'] = textline.split('rcmd_type = ')[1]
                if 'priors:' in items:
                    datastore[timestamp]['priors'] = textline.split('priors: ')[1]
                if ' num=' in textline:
                    datastore[timestamp]['num'] = textline.split(' num=')[1].split()[0]
                if ' rcmds=' in textline:
                    datastore[timestamp]['rcmds'] = textline.split(' rcmds=')[1].split()[0]
                if ' backfill=' in textline:
                    datastore[timestamp]['backfill'] = textline.split(' 
            except:
                pass
    return datastore

def export2csv(data, filename):
    """ csv形式で出力 """
    header = ['タイムスタンプ', 'リクエスト内容', 'rcmd_type', 'priors', 'num', 'rcmds', 'backfill']
    filename = f'{filename}.csv'
    with open(filename, 'w') as f:
        csv.writer(f, lineterminator='\n').writerow(header)
    with open(filename, 'a') as f:
        for record in data.items():
            record = [record[1].get(h) for h in header]
            csv.writer(f, lineterminator='\n').writerow(record)

if __name__ == '__main__':
    """ 抽出からファイル出力までの一連の処理 """
    filepath = './log.txt' # 任意のパスに変更してください
    filename, extention = os.path.splitext(filepath)
    data = logparser(filepath)
    export2csv(data, filename)