Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从其他目录导入文件后,Geopanda不工作_Python_Python 3.x_Geopandas - Fatal编程技术网

Python 从其他目录导入文件后,Geopanda不工作

Python 从其他目录导入文件后,Geopanda不工作,python,python-3.x,geopandas,Python,Python 3.x,Geopandas,我正在尝试使用从下载的shapefile在python中创建一个映射。这是我的密码: import geopandas as gpd import os import sys import matplotlib.pyplot as plt bos_files_list = ['buildings.shx', 'landuse.shx', 'natural.shx', 'places.shx', 'points.shx', 'railways.shx', 'roads.shx'] cur_pat

我正在尝试使用从下载的shapefile在python中创建一个映射。这是我的密码:

import geopandas as gpd
import os
import sys
import matplotlib.pyplot as plt

bos_files_list = ['buildings.shx', 'landuse.shx', 'natural.shx', 'places.shx', 'points.shx', 'railways.shx', 'roads.shx']
cur_path = os.path.dirname(__file__)

def maps_of_bos(files):
    for x in range(len(files)):
        os.chdir(f'location/of/file')
        f = open(f'{files[x]}', 'r')
        gpd.read_file(f)


z = maps_of_bos(bos_files_list)

z.plot()

plt.show()
但是,我的错误输出如下:

Traceback (most recent call last):
  File "test.py", line 16, in <module>
    z = maps_of_bos(bos_files_list)
  File "test.py", line 13, in maps_of_bos
    gpd.read_file(f)

  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/geopandas/io/f
ile.py", line 76, in read_file
    with reader(path_or_bytes, **kwargs) as features:
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/contextlib.py", line 113, in
 __enter__
    return next(self.gen)
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/fiona/__init__
.py", line 206, in fp_reader
    dataset = memfile.open()
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/fiona/io.py",
line 63, in open
    return Collection(vsi_path, 'w', crs=crs, driver=driver,
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/fiona/collecti
on.py", line 126, in __init__
    raise DriverError("no driver")
fiona.errors.DriverError: no driver
回溯(最近一次呼叫最后一次):
文件“test.py”,第16行,在
z=bos的映射(bos文件列表)
文件“test.py”,第13行,在地图中
gpd.read_文件(f)
文件“/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/geopandas/io/f
“ile.py”,第76行,在read_文件中
具有读卡器(路径或字节,**kwargs)作为功能:
文件“/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/contextlib.py”,第113行,在
__进入__
返回下一个(self.gen)
文件“/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/fiona//uuu init__
.py”,第206行,在fp_读取器中
dataset=memfile.open()
文件“/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site packages/fiona/io.py”,
第63行,打开
返回集合(vsi_路径,'w',crs=crs,driver=driver,
文件“/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/fiona/collecti
on.py”,第126行,在__
升起驾驶员错误(“无驾驶员”)
FiON.Err.StruVale:没有驱动程序
我对python比较陌生,不太了解我的错误。有人能帮我一下吗?

根据
读取的文件
应该是文件的路径,而不是对象

gpd.read_文件(f'{files[x]}')

你不需要


f=open(f'{files[x]}',r')

您只想将
.shp
文件传递到
geopandas.read\u文件