包含1 key 多 value 以及印出值
我們的資料包含列為標題與欄為標題兩種
列為標題(範例檔案)
| Class | Name | ID |
| 2A | Amy | 135 |
| 1B | Ban | 145 |
建立字典時,我們希望能以標題為key,內容為值
import csv
global mydict
with open('D:/testfile.csv','rt') as fileX:
filereader = csv.DictReader(fileX)
mydict = {}
for row in filereader:
for column, value in row.items():
mydict.setdefault(column, []).append(value)
for key in mydict:
print('Key in mydict='+str(key))
for key in mydict.keys():
print('Key in d.keys='+str(key))
for value in mydict.values():
print('Key in d.values='+str(value))
for k,v in mydict.items():
print(k,v)
欄為標題(範例檔案)
| Class | 2A | 1B |
| Name | Amy | Ban |
| ID | 135 | 145 |
import csv
global mydict
with open('D:/testfile.csv','rt') as fileX:
filereader = csv.reader(fileX)
mydict = {}
for row in filereader:
key = row[0]
mydict[key] = row[1:]
for key in mydict:
print('Key in mydict='+str(key))
for key in mydict.keys():
print('Key in d.keys='+str(key))
for value in mydict.values():
print('Key in d.values='+str(value))
for k,v in mydict.items():
print(k,v)
以下印出的結果
(字典的key並沒有順序性,所以印出的順序有可能不一樣)
Key in mydict=ID Key in mydict=Class Key in mydict=Name Key in d.keys=ID Key in d.keys=Class Key in d.keys=Name Key in d.values=['135', '145'] Key in d.values=['2A', '1B'] Key in d.values=['Amy', 'Ban'] ID ['135', '145'] Class ['2A', '1B'] Name ['Amy', 'Ban']
需要特別注意的是
列為標題時,讀取檔案用的是
filereader = csv.DictReader(fileX)
欄為標題時,讀取檔案用的是
filereader = csv.reader(fileX)
Reference:
[1]: http://stackoverflow.com/questions/14091387/creating-a-dictionary-from-a-csv-file (Available:2016/02/23)
沒有留言:
張貼留言