[英]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.