def parse_line(self, line, state): if re.match("^\d\d\d\d\d\d\ ", line): columns = line.split(" ") columns = [column.strip() for column in columns if column.strip()] if len(columns) == 0: raise Exception("Weird number of columns: %s" % line) if len(columns) % 3 == 0: for i in xrange(len(columns) / 3): check_num, check_date, check_amount = columns[i*3:(i+1)*3] check_date = reparse_date(check_date, state.year) check_amount = check_amount.replace(",", "") self.writer.writerow([check_num, check_date, check_amount])
def parse_line(self, line, state): if re.match("^(\d\d/\d\d\ )", line): columns = line.split(" ") columns = [column.strip() for column in columns if column.strip()] if len(columns) >= 3: columns = [columns[0], " ".join(columns[1:-1]), columns[-1]] # add year to date columns[0] = reparse_date(columns[0], state.year) # remove thousands comma columns[-1] = columns[-1].replace(",", "") else: raise Exception("Weird number of columns: %s" % line) self.writer.writerow(columns)
def parse_line(self, line, state): if re.match("^\d\d\d\d\d\d\ ", line): columns = line.split(" ") columns = [column.strip() for column in columns if column.strip()] if len(columns) == 0: raise Exception("Weird number of columns: %s" % line) if len(columns) % 3 == 0: for i in xrange(len(columns) / 3): check_num, check_date, check_amount = columns[i * 3:(i + 1) * 3] check_date = reparse_date(check_date, state.year) check_amount = check_amount.replace(",", "") self.writer.writerow([check_num, check_date, check_amount])
def parse_line(self, line, state): if re.match("^[A-Z0-9]{17}", line): columns = line.split(" ") columns = [column.strip() for column in columns if column.strip()] date_string = columns[1] date_string = reparse_date(date_string, state.year) description = " ".join(columns[3:-1]) price = columns[-1] price = price.strip().replace(",", "") if price.endswith("-"): withdrawal = price[:-1] deposit = "" else: deposit = price withdrawal = "" self.writer.writerow([date_string, description, deposit, withdrawal])