我想将多个csv文件导入QGIS 3.2。它显示“ TypeError:QgsProject.addMapLayers():参数1具有意外的类型'QgsVectorLayer'”。我是QGIS的新手,感到困惑。这是我的代码。预先感谢!
import os, glob
path_to_csv = "D:/Paper/Data/bga_new_coord/"
os.chdir(path_to_csv)
for fname in glob.glob('*.csv'):
uri = "file:///" + path_to_csv + fname + "?delimiter={}&crs=epsg:28355&xField={}&yField={}".format(";","xcoord","ycoord")
name=fname.replace('.csv', '')
lyr=QgsVectorLayer(uri, name, 'delimitedtext')
lyr.isValid()
QgsProject.instance().addMapLayers(lyr)
错误是
TypeError: QgsProject.addMapLayers(): argument 1 has unexpected type 'QgsVectorLayer'
答案 0 :(得分:0)
您正在使用addMapLayer s ()函数,该函数需要一个层列表(ref)而不是单个层。而是尝试使用addMapLayer(),它需要一个层。
您得到的错误基本上说明了同一件事:“出乎意料的是,我收到一个QgsVectorLayer(我想要一个列表)”