简体   繁体   English

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

[英]Errors in import multiple csv files into QGIS

I want to import multiple csv files into QGIS 3.2.我想将多个 csv 文件导入 QGIS 3.2。 It shows that "TypeError: QgsProject.addMapLayers(): argument 1 has unexpected type 'QgsVectorLayer'".它显示“类型错误:QgsProject.addMapLayers():参数 1 具有意外类型‘QgsVectorLayer’”。 I am new to QGIS and get confused.我是 QGIS 的新手并且感到困惑。 Here is my code.这是我的代码。 Thanks in advance!提前致谢!

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)

And the Error is错误是

TypeError: QgsProject.addMapLayers(): argument 1 has unexpected type 'QgsVectorLayer'

You are using the function addMapLayer s () which expects a list of layers ( ref ) instead of a single layer.您正在使用 addMapLayer s () 函数,它需要一个图层列表 ( ref ) 而不是单个图层。 Instead, try using addMapLayer() , which expects a layer.相反,尝试使用addMapLayer() ,它需要一个层。

The error you get says basically the same thing: "Unexpectedly, I am being given a QgsVectorLayer (I wanted a list)"你得到的错误基本上是一样的:“出乎意料的是,我得到了一个 QgsVectorLayer(我想要一个列表)”

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

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