python 读取csv output成dictionary

目前有两个已经完成的函数一个是perbuil(name,phone,email)
per_buil("name", "139-balabala", "balabala@balabala.com")
output是('name', {'phone': '139-balabala', 'email': 'balabala@balabala.com'})
第二个是读取csv文件然后选取特定某几列output成list并且去除列之间的空格的函数
例如:balabala.csv中有名字,电话,颜色,邮箱四列
di_re("balabala.csv")
output是[('名字1','电话1','邮箱1'),('名字2','电话2','邮箱2')]
问题:我如何创建一个函数di_buil("bala.csv"),使用上述的函数,读取csv文件然后output成一个dictionary
key为名字,value为由电话与邮箱组成的dictionary
例如:di_buil("bala.csv")
output是{'名字1':{'电话':'电话1','邮箱':'邮箱1'},'名字2':{'电话':'电话2','邮箱':'邮箱2'}}

(不能使用import)

下有代码,可直接复制使用。如有帮助,敬请采纳,你的采纳是我前进的动力,O(∩_∩)O谢谢!!!!!!!!****
要求:

1、不能使用import
2、原csv文件格式:
name,phone,color,email
name1,phone1,color1,email1
name2,phone2,color2,email2
2、修改后新csv文件
phone,name,email
phone1,name1,email1
phone2,name2,email2

实现代码如下

csv_lines = open('bala.csv', 'r', encoding='utf-8').readlines()
csv_write = open('csv_write.csv', 'w+', encoding='utf-8')
out_dict = {}
csv_write.write('phone,name,email' + '\r\n')
for line in csv_lines:
    line = line.strip()
    if True in list(map(lambda x: x in line.split(','), ['name', 'phone', 'color', 'email'])) or line == '':
        continue
    line_list = line.split(',')
    # name,phone,color,email
    out_dict[line_list[0]] = {'phone': line_list[1], 'email': line_list[3]}
    # phone,name,email
    csv_write.write(f'{line_list[1]},{line_list[0]},{line_list[3]}' + '\r\n')
csv_write.close()

运行验证
原始数据验证:

img


复杂数据验证:

img


import csv

def buildCSVList(path):
    with open(path,'r') as myFile:  
        lines=csv.reader(myFile)
        for line in lines:
            strline = str(line).lstrip('[\'').rstrip('\']')
            linearr = strline.split('\\t')
            person_info = {'电话': linearr[1], '邮箱': linearr[3]} 
            person_list = { linearr[0] : person_info}
            print(person_list)



buildCSVList('d:\\python\\test.csv')

等一波大神来解答