将多个csv文件导入QGIS时出错

时间:2018-11-14 02:14:56

标签: python qgis

我想将多个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'

1 个答案:

答案 0 :(得分:0)

您正在使用addMapLayer s ()函数,该函数需要一个层列表(ref)而不是单个层。而是尝试使用addMapLayer(),它需要一个层。

您得到的错误基本上说明了同一件事:“出乎意料的是,我收到一个QgsVectorLayer(我想要一个列表)”