Я пытаюсь загрузить шейп-файл, который находится в zipfile набора гео-файлов. Я испробовал несколько подходов и изучал, и никуда не деться. Следующий код должен работать на Python 3.5.
Я попробовал примерный подход Эндрю Гайдуса и понял, что это для предыдущей версии Python. Подход Oldja взят из документов Python 3.x и должен работать. Но проблемы продолжают возникать.
dls = "https://github.com/ItsMeLarry/Coursera_Capstone/raw/master/tl_2010_25 009_tract00.zip"
print('Downloading shapefile...')
r = requests.get(dls)
z = zipfile.ZipFile(io.BytesIO(r.content))
print("Done")
z.extractall(path='tmp/') # extract to folder
filenames = [y for y in sorted(z.namelist()) for ending in ['dbf',
'prj', 'shp', 'shx'] if y.endswith(ending)]
print(filenames)
dbf, prj, shp, shx = [filename for filename in filenames]
print(shp)
lynnmap = gpd.read_file(shp)
Я получаю 4 имени файла, как и должен. Теперь при lynnmap = gpd ... я получаю ошибку:
OSError: нет такого файла или каталога: 'tl_2010_25009_tract00.shp'.
Примеры не выполняют операцию "открытия", но мне интересно, говорит ли геопанда, что я должен.