簡體   English   中英

Python:不帶CSV模塊的CSV文件到字典

[英]Python: CSV File to Dictionary without csv module

我知道答案還有很多其他問題,但是我想知道如何將CSV文件讀入嵌套字典中。 因此,它可能來自以下內容:

    '''"YEAR","GENDER","NAME","COUNT"
    "2011","FEMALE","A","100"
    "2012","FEMALE","A","50"
    "2012","FEMALE","B","10"
    "2012","FEMALE","C","10"
    "2012","FEMALE","D","5"
    "2013","FEMALE","A","1000"
    '''

對於這樣的事情:

{('B', 'FEMALE'): {2012: (10, None)}, 
 ('C', 'FEMALE'): {2012: (10, None)}, 
 ('A', 'FEMALE'): {2011: (100, None), 
                   2012: (50, None), 
                   2013: (1000, None)}, 
 ('D', 'FEMALE'): {2012: (5, None)}}

但是我需要不導入任何內容來執行此操作,因此無法使用CSV模塊。 這是一個一般的例子。 我需要代碼可以處理多個可能比這個更長或更短的案例。

(共有11個文件,這是其中之一,這里的文本與文件中的內容完全相同:

    "YEAR","GENDER","NAME","COUNT"
    "2011","FEMALE","A","100"
    "2012","FEMALE","A","50"
    "2012","FEMALE","B","10"
    "2012","FEMALE","C","10"
    "2012","FEMALE","D","5"
    "2013","FEMALE","A","1000"
answer = {}
with open('path/to/file') as infile:
    infile.readline()  # we don't care about the header row
    for line in infile:
        year, gender, name, count = (s.strip('"') for s in line.split(','))
        key = (name, gender)
        if key not in answer: answer[key] = {}
        answer[key][int(year)] = (int(count), None)

暫無
暫無

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

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