Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # -*- coding: utf-8 -*-
- from collections import OrderedDict
- import csv
- def nl(data):
- """ remove new lines """
- return data.replace('\r', '').replace('\n', '')
- class CsvFileReader(object):
- class Row(object):
- def __init__(self, data, _columns):
- self.data = data
- self._columns = _columns
- def get(self, key, typ=None):
- return nl(self.data[self._columns[key]])
- def __init__(self, filename):
- self.filename = filename
- def __iter__(self):
- _columns = OrderedDict()
- with open(self.filename, 'r') as data:
- spamreader = csv.reader(data, delimiter=',')
- for i, row in enumerate(spamreader):
- if i == 0:
- for j, label in enumerate(row):
- _columns.update({nl(label): j})
- else:
- r = self.Row(row, _columns)
- if any(r.data):
- yield r
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement