python_reference/useful_scripts/read_csv_to_dict.py

22 lines
697 B
Python
Raw Normal View History

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