繁体   English   中英

如何创建一个循环/函数来打开一组 shapefile?

[英]How to create a loop/function to open set of shapefiles?

如何创建一个循环或 function 以同时打开许多 shapefile,其中 shapefile 的名称变化很小?

例如,使用以下数据:

a = ("05", "11", "12")
b = ("agglome_a", "piste_c_l", "route_l", "vegetat_a", "batimen_a","route_a_l")

agglo5 = gpd.read_file(f"/content/drive/MyDrive/python/bndt/031H{a[0]}_{b[0]}.shp") 
agglo11 = gpd.read_file(f"/content/drive/MyDrive/python/bndt/031H{a[1]}_{b[0]}.shp") 
agglo12 = gpd.read_file(f"/content/drive/MyDrive/python/bndt/031H{a[2]}_{b[0]}.shp") 
pistec5 = gpd.read_file(f"/content/drive/MyDrive/python/bndt/031H{a[0]}_{b[1]}.shp")
pistec11 = gpd.read_file(f"/content/drive/MyDrive/python/bndt/031H{a[1]}_{b[1]}.shp")
pistec12 = gpd.read_file(f"/content/drive/MyDrive/python/bndt/031H{a[2]}_{b[1]}.shp")

我会想象 function 是这样开始的:

for i in a:
    agglo05 = gpd.read_file(f"/content/drive/MyDrive/python/bndt/031H{i[0:]}_{b[0]}.dbf"

但理想情况下,添加一个结果将确定一个新的 dataframe。本质上,我希望 function 打开所有 shapefile 并为它们命名(例如 agglo5、agglo11、...)。

我没试过,但这可能会为您指明正确的方向?

import os
directory = 'files'
for filename in os.listdir(directory):
   do something with gpd.read_file(filename)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM