¿Cómo elimino un bloque de texto de varios archivos json repetitivos donde hay un cambio pequeño entre los archivos?
Tengo un archivo Json que tiene partes repetitivas y estoy intentando escribir un script para eliminar un cierto bloque de texto de múltiples archivos. Un script de Python sería el más preferido, de lo contrario, según mi búsqueda, sed también puede funcionar, aunque no sé nada al respecto.
Aquí hay un ejemplo del formato de mi archivo Json:
- ¿Cómo eliminaría lo siguiente del archivo Json?
-
¿Cómo adapto el script para tener en cuenta diferentes URL “FindMe” en varios archivos? Por ejemplo, un segundo archivo tendría lo siguiente, y así sucesivamente para varios archivos.
Creo que usar una expresión regular puede ayudar, pero estoy teniendo problemas para entenderlas e implementarlas dentro de un script.
Cualquier ayuda es apreciada, gracias.
Actualización:
Me gustaría que el resultado final se vea así:
davy.ai
json
para cargar el archivo JSON en un objeto de Python, luego filtrar el bloque de texto que se desea eliminar y luego escribir el objeto actualizado de nuevo en el archivo JSON. Aquí hay un ejemplo de script:El script carga el archivo JSON
input.json
, filtra el bloque de texto donde elType_species
es"Mammal"
, y escribe el objeto actualizado en un nuevo archivooutput.json
con una indentación de 2 espacios.FindMe
en múltiples archivos, se puede utilizar un argumento de línea de comando para especificar el nombre del archivo y utilizar un bucle para procesar múltiples archivos. Aquí hay un ejemplo de script actualizado:El script utiliza el módulo
argparse
para analizar los argumentos de línea de comandos. Puede ejecutar el script con uno o más nombres de archivos como argumentos, así:El script utiliza un bucle para procesar cada archivo, carga el archivo JSON en un objeto de Python, filtra el bloque de texto basado en la URL
FindMe
que termina con/facts/arctic-fox
, y escribe el objeto actualizado nuevamente en el mismo archivo.