def addBarsFromCSV(self, path, rowParser, skipMalformedBars=False): def parse_bar_skip_malformed(row): ret = None try: ret = rowParser.parseBar(row) except Exception: pass return ret if skipMalformedBars: parse_bar = parse_bar_skip_malformed else: parse_bar = rowParser.parseBar # Load the csv file loadedBars = [] reader = csvutils.FastDictReader(open(path, "r"), fieldnames=rowParser.getFieldNames(), delimiter=rowParser.getDelimiter()) for row in reader: bar_ = parse_bar(row) if bar_ is not None and (self.__barFilter is None or self.__barFilter.includeBar(bar_)): loadedBars.append(bar_) self.addBarsFromSequence(rowParser.getInstrument(), loadedBars)
def addBarsFromCSV(self, instrument, path, rowParser): # Load the csv file loadedBars = [] reader = csvutils.FastDictReader(open(path, "r"), fieldnames=rowParser.getFieldNames(), delimiter=rowParser.getDelimiter()) for row in reader: bar_ = rowParser.parseBar(row) if bar_ is not None and (self.__barFilter is None or self.__barFilter.includeBar(bar_)): loadedBars.append(bar_) self.addBarsFromSequence(instrument, loadedBars)
def addValuesFromCSV(self, path): # Load the values from the csv file values = [] reader = csvutils.FastDictReader(open(path, "r"), fieldnames=self.__rowParser.getFieldNames(), delimiter=self.__rowParser.getDelimiter()) for row in reader: dateTime, rowValues = self.__rowParser.parseRow(row) if dateTime is not None and (self.__rowFilter is None or self.__rowFilter.includeRow(dateTime, rowValues)): values.append((dateTime, rowValues)) self.addValues(values)
def loadBarsFromCSV(self,instrument,path): loadedBars = [] rowParser = RowParser(self.getDailyBarTime(), self.getFrequency(), self.__timezone, False) reader = csvutils.FastDictReader(open(path, "r"), fieldnames=rowParser.getFieldNames(), delimiter=rowParser.getDelimiter()) for row in reader: bar_ = rowParser.parseBar(row) if bar_ is not None: loadedBars.append(bar_) self.addBarsFromSequence(instrument, loadedBars)