<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def import_locations(self, zone_file):
 """Parse zoneinfo zone description data files. ``import_locations()`` returns a list of :class:`Zone` objects. It expects data files in one of the following formats:: AN	+1211-06900	America/Curacao AO	-0848+01314	Africa/Luanda AQ	-7750+16636	Antarctica/McMurdo	McMurdo Station, Ross Island Files containing the data in this format can be found in the :file:`zone.tab` file that is normally found in :file:`/usr/share/zoneinfo` on UNIX-like systems, or from the `standard distribution site`_. When processed by ``import_locations()`` a ``list`` object of the following style will be returned:: [Zone(None, None, "AN", "America/Curacao", None), Zone(None, None, "AO", "Africa/Luanda", None), Zone(None, None, "AO", "Antartica/McMurdo", ["McMurdo Station", "Ross Island"])] Args: zone_file (iter):
 ``zone.tab`` data to read Returns: list: Locations as :class:`Zone` objects Raises: FileFormatError: Unknown file format .. _standard distribution site: ftp://elsie.nci.nih.gov/pub/ """

        self._zone_file = zone_file
        field_names = ('country', 'location', 'zone', 'comments')

        data = utils.prepare_csv_read(zone_file, field_names, delimiter=r"	")

        for row in (x for x in data if not x['country'].startswith('#')):
            if row['comments']:
                row['comments'] = row['comments'].split(', ')
            self.append(Zone(**row))