Anda bisa menggunakan kode berikut di Python Console untuk menemukan file csv Anda di folder yang ditentukan dan memuatnya sebagai titik shapefile menggunakan bidang bujur / lintangnya. Kode ini mengasumsikan:
- File csv dipisahkan dengan koma
- Nama bidang bujur / lintang masing
"x"
- "y"
masing adalah dan
- CRS dari lapisan yang dimuat akan berada di EPSG: 4326
Tetapi Anda dapat mengedit ini:
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)
Dalam versi baru o QGIS, perintah QgsMapLayerRegistry.instance().addMapLayer(lyr)
didiskon. Solusinya masih valid jika kami mengganti baris sebelumnya dengan:
QgsProject.instance().addMapLayer(lyr)
Anda juga perlu menghapus atau mengomentari baris keduafrom qgis.core import QgsMapLayerRegistry
Solusinya bekerja dengan sempurna.