2014-03-19 18:54:27 +00:00
|
|
|
# Sebastian Raschka, 03/2014
|
2014-03-20 00:48:23 +00:00
|
|
|
|
2014-03-19 18:54:27 +00:00
|
|
|
|
|
|
|
def read_csv(csv_path):
|
2014-03-20 00:48:23 +00:00
|
|
|
"""
|
|
|
|
Read a csv file (with a header) into a dictionary
|
|
|
|
where the dictionary structure will be
|
|
|
|
{header_col1: [val1_line1, val1_line2, ...], header_col2: [val2_line1, val2_line2, ...], ...}
|
|
|
|
|
|
|
|
"""
|
2014-03-19 18:54:27 +00:00
|
|
|
with open(csv_path, 'r') as in_csv:
|
|
|
|
header = in_csv.readline().strip().split(',')
|
|
|
|
data = {i:[] for i in header}
|
|
|
|
for line in in_csv:
|
|
|
|
line = line.strip().split(',')
|
2014-03-19 18:59:12 +00:00
|
|
|
for i in range(len(line)):
|
|
|
|
try:
|
|
|
|
data[header[i]].append(float(line[i]))
|
|
|
|
except ValueError:
|
|
|
|
data[header[i]].append(line[i])
|
2014-03-19 18:54:27 +00:00
|
|
|
return data
|