簡體   English   中英

向一個鍵添加多個值,但 defaultdict 只允許 2

[英]add multiple values to one key, but defaultdict only allows 2

在我正在閱讀的 CSV 中,每個 ID 有多行:

ID,timestamp,name,text
444,2022-03-01T11:05:00.000Z,Amrita Patel,Hello
444,2022-03-01T11:06:00.000Z,Amrita Patel,Nice to meet you
555,2022-03-01T12:05:00.000Z,Zach Do,Good afternoon
555,2022-03-01T11:06:00.000Z,Zach Do,I like oranges
555,2022-03-01T11:07:00.000Z,Zach Do,definitely

我需要提取每一個文件,以便每個 ID 有一個文件,其中包含時間戳、名稱和文本。 例如,對於 ID 444,它將包含 2 個時間戳和 2 個不同的文本以及名稱。

我可以使用以下代碼獲取指定給正確 ID 的文本:

from collections import defaultdict

d = {}
l = []
list_of_lists = []

for k in csv_file:
    l.append([k['ID'],k['text']])
    list_of_lists.append(l) 
for key, val in list_of_lists[0]:
    d.setdefault(key, []).append(val)

問題是這還不夠,我需要將其他值添加到一個 ID 鍵中。 如果我嘗試:

l.append([k['ID'],[k['text'],k['name']]])

我明白了

ValueError: too many values to unpack

只需使用列表作為值,

{key: [value1, value2], ...}

暫無
暫無

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

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