簡體   English   中英

Python:將多個列表壓縮到字典中

[英]Python: Zipping multiple lists into a dictionary

好的,所以我從要創建詞典的csv文件中提取了6個列表,其中一個列表是鍵值,其他5個都包含附加到該鍵的值。 如果它們的鍵與第7個列表(c6)中的值匹配,我將刪除某些行。 感謝您的幫助,請立即寫信,讓我從csv的正確列中填充列表。 我也有很多讀者,因為它們只能循環瀏覽一次。

with open (r'filea', 'r', newline='') as f:
    tread=csv.reader(f, delimiter=',')
    aread=csv.reader(f, delimiter=',')
    bread=csv.reader(f, delimiter=',')
    cread=csv.reader(f, delimiter=',')
    dread=csv.reader(f, delimiter=',')
    eread=csv.reader(f, delimiter=',')
    tlist= []
    alist= []
    blist= []
    clist= []
    dlist= []
    elist= []

    for row in tread:
        tlist.append(row[0])

    for row in aread:
        alist.append(row[1])
        print (alist)
    for row in bread:
        blist.append(row[2])
        print (blist)
    for row in cread:
        clist.append(row[3])
    for row in dread:
        dlist.append(row[4])
    for row in eread:
        elist.append(row[5])

    fulldict = dict(zip(tlist, [alist, blist, clist, dlist, elist]))
    print (fulldict)
    for key in c6:
        if key  in fulldict:
            del fulldict[key]
        if key not in fulldict:
            pass
    with open (r'fileb', 'w', newline='') as g:
        wrt=csv.writer(g)
        for row in fulldict.items():
            wrt.writerow(row)
with open (r'filea', 'r', newline='') as f:

    data = {}
    exclude = set()

    for row in csv.reader(f, delimiter=','):
        data[row[0]] = row[1:6]
        exclude.add(row[6])

    for key in exclude:
        if key in data:
            del data[key]

    with open (r'fileb', 'w', newline='') as g:
        wrt=csv.writer(g)
        # do the writing

我結束do the writing因為我不知道你想寫什么。 您的編寫代碼是錯誤的,因為dict的items()(key, value)元組的列表。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM