Você pode usar o código a seguir no Python Console para localizar seus arquivos csv em uma pasta especificada e carregá-los como shapefiles de ponto usando seus campos de longitude / latitude. O código assume:
- O arquivo csv é separado por vírgula
- Os nomes dos campos de longitude / latitude são
"x"
e "y"
respectivamente
- O CRS das camadas carregadas será em EPSG: 4326
Mas você pode editar isso:
import glob, os
# Define path to directory of your csv files
path_to_csv = "C:/Users/You/Desktop/csv folder/"
# Set current directory to path of csv files
os.chdir(path_to_csv)
# Find each .csv file and load them as vector layers
for fname in glob.glob("*.csv"):
uri = "file:///" + path_to_csv + fname + "?delimiter=%s&crs=epsg:4326&xField=%s&yField=%s" % (",", "x", "y")
name = fname.replace('.csv', '')
lyr = QgsVectorLayer(uri, name, 'delimitedtext')
#QgsMapLayerRegistry.instance().addMapLayer(lyr)
Na nova versão do QGIS, o comando QgsMapLayerRegistry.instance().addMapLayer(lyr)
foi descontado. A solução ainda é válida se substituirmos a linha anterior por:
QgsProject.instance().addMapLayer(lyr)
Além disso, você precisa excluir ou comentar a segunda linhafrom qgis.core import QgsMapLayerRegistry
A solução funciona perfeitamente.