0
votes

Boucle via des fichiers et appliquer la fonction en python

J'ai des fichiers dxf code> et que vous souhaitez les transformer en fichiers code> geojson code>: xxx pré>

sortie: p>

input_file = 'BJ-SZZDS-1010084246-dongta-11.dxf'
output_file = 'BJ-SZZDS-1010084246-dongta-11.geojson'

def dxf2geojson(output_file, input_file):
    command = ['ogr2ogr', '-f', 'GeoJSON', output_file, input_file]
    p = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
    return p
dxf2geojson(output_file, input_file)  


0 commentaires

3 Réponses :


1
votes

Tout d'abord, vous pouvez enregistrer tous les noms de fichiers dans une liste, par exemple, file_list : xxx

puis, exécutez chaque fichier à partir de la File_List : xxx


1 commentaires

Génial. Heureux d'aider.



1
votes

Vous pouvez enregistrer tous les fichiers dans une liste, puis itérer sur elle. XXX


2 commentaires

NomError: Nom 'Input_File' n'est pas défini. Je pense que vous avez manqué la pièce de définir INPUT_FILE et de sortie_file .


J'ai corrigé ça. Je viens de devoir remplacer le INPUT_FILE avec dex_file



1
votes

Vous pouvez le faire en remplaçant votre fonction d'impression dans le code d'itération de fichier à la fonction de conversion.

import subprocess
from subprocess import call
import os

working_directory = 'D:/dxf_files/'

for subdir, dirs, files in os.walk(working_directory):
    for file in files:
        if file.endswith('.dxf'):
            input_file = file
            output_file = file[:-3]+'geojson'
            P = dxf2geojson(output_file, input_file)


0 commentaires