python对csv文件中的数据进行分类_python-按字段值将CSV文件中的数据分组

使用python CSV reader似乎很简单.

data.csv

a,54.2

s,78.5

k,89.62

a,77.2

a,65.56

script.py

import csv

result = {}

with open('data.csv', 'rb') as csvfile:

csvreader = csv.reader(csvfile, delimiter=',', quotechar='"')

for row in csvreader:

if row[0] in result:

result[row[0]].append(row[1])

else:

result[row[0]] = [row[1]]

print result

输出

{

'a': ['54.2', '77.2', '65.56'],

's': ['78.5'],

'k': ['89.62']

}

当@Pete陷入困境时,您可以使用defaultdict美化它:

script.py

import csv

from collections import defaultdict

result = defaultdict(list) # each entry of the dict is, by default, an empty list

with open('data.csv', 'rb') as csvfile:

csvreader = csv.reader(csvfile, delimiter=',', quotechar='"')

for row in csvreader:

result[row[0]].append(row[1])

print result