簡體   English   中英

將csv文件讀入嵌套列表的字典中

[英]reading a csv file into a dictionary of nested lists

我有一個SAT成績的CSV文件,格式為:

州利率語言數學

以及所有五十個州的對應值。 我需要字典。 數據的字典格式是將列名作為鍵,然后將每個數據下的數據作為該鍵的值列表。我能夠以正確的格式打印列表,但列表未鏈接到字典中的鍵字典在那里,但是空的。 在嘗試了不同的方法之后,這是我所能想到的最好的方法:

with open('../sat_scores.csv', mode='r') as f:
    sat= {}                                          
    label_line =[]                                  
    reader = csv.reader(f)                           
    count = 0                                        
    for row in reader:                 
        print(row)
        if count == 0:                                
           for item in row:                           
               item = sat.keys                       
        count +=1                                  
    for row in reader:
        for key in sat.keys:                      
            for score in row:                     
                sat[key].append(score)
    print(sat)                            

有什么建議么?

假設您的行是唯一的,則應該這樣做:

with open('../sat_scores.csv', mode='r') as f:
    sat = {}                                                                                        
    for row in csv.reader(f):                 
        sat[row[0]] = row[1:]

row是一個列表。 row[0]具有您所在州的名稱。 row[1]row[2]row[3]還有其他所有內容。 您可以使用列表切片並輸入State : <List of data>

這樣就完成了。 最好知道item = sat.keys不能達到您的期望。 keys是dict的函數,您正在將該函數分配給變量。 看這個:

>>> sat = {}
>>> sat.keys
<built-in method keys of dict object at 0x101b81c08>

您應該做的是遵循這些方針:

>>> row = ['OH', '88%', 200, 180]
>>> sat[row[0]] = row[1:]
>>> sat
{'OH': ['88%', 200, 180]}

暫無
暫無

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

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