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])
Esempio n. 2
0
    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\ )", 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)
Esempio n. 4
0
    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])