Чтобы вы поняли. У меня есть этот цикл:
for i,v in zip(ps,db):
print(i,v)
C:\Users\user\Desktop\sa\43001\PST\PST.shp C:\Users\user\Desktop\sa\43001\DBOUND\DBOUND.shp
C:\Users\user\Desktop\sa\43003\PST\PST.shp C:\Users\user\Desktop\sa\43003\DBOUND\DBOUND.shp
Для каждого экспорта в каждой итерации я хочу, чтобы экспортированный файл помещался в новую папку в соответствии с номером в каталоге используемых файлов.
Пример: создайте папку с именем 43001
, в которой будут созданы файлы PST.shp
из каталога 43001. Затем папка с именем 43003
, которая имеет соответствующий PST.shp
.
Этот код близок к желаемому, но нуждается в исправлении для создания этих папок.
for i, v in zip(ps,db):
db1 = gpd.read_file(v)
pst1 = gpd.read_file(i)
wdp = gpd.sjoin(pst1, db1, how="left", op='within')
o = r'C:\Users\user\Desktop\resultss'
out = o +'\\'+i.split("\\")[-3] +'PST.shp'
wdp.to_file(out)
Проблема с этим:
Этот код создает файлы как 43001PST.shp
и 43002PST.shp
в папке resultss
вместо создания папок с номерами в виде имен с PST.shp
в них, как и должно быть. Что должно быть изменено?
Требуется:
resultss>>43001>>PST.shp
resultss>>43003>>PST.shp