¿Cómo convertir un archivo .sql a .csv sin tener que importarlo a una base de datos?


Týr

Miembro muy activo
Buenas, tengo archivos de backup.sql de +100 gb que me gustaría convertir a .csv para poder importarlos a un mongodb, ¿tenéis idea de cómo puedo hacerlo?
Le he pedido ayuda a chatgpt pero los scripts que me hace son una basura.

Gracias!
 

Dark

🔥root313🔥
Staff
Moderador
Paladín de Nodo
Jinete de Nodo
Burgués de Nodo
Noderador
Nodero
Noder Pro
Noder
La idea es hacerlo sin meter el archivo en una database, sino con algún script/lo que sea convertirlo directamente a csv
ah.

Instala Python en tu ordenador y crea un archivo llamado programa.py con el siguiente contenido:

Código:
import csv

# Abrir el archivo .sql para leer
with open('archivo.sql', 'r') as sql_file:
    # Leer todas las líneas del archivo .sql
    sql_lines = sql_file.readlines()

# Obtener los nombres de las columnas
column_names = sql_lines[0].strip().split(',')

# Crear un archivo .csv para escribir
with open('archivo.csv', 'w', newline='') as csv_file:
    # Crear un escritor CSV
    csv_writer = csv.writer(csv_file)

    # Escribir los nombres de las columnas en la primera fila del archivo .csv
    csv_writer.writerow(column_names)

    # Escribir los datos en el archivo .csv
    for line in sql_lines[1:]:
        # Eliminar el salto de línea al final de cada línea
        line = line.strip()

        # Dividir la línea en valores separados por comas
        values = line.split(',')

        # Escribir los valores en el archivo .csv
        csv_writer.writerow(values)

1680120142389.png
 
  • Like
Reacciones : kTo

Týr

Miembro muy activo
ah.

Instala Python en tu ordenador y crea un archivo llamado programa.py con el siguiente contenido:

Código:
import csv

# Abrir el archivo .sql para leer
with open('archivo.sql', 'r') as sql_file:
    # Leer todas las líneas del archivo .sql
    sql_lines = sql_file.readlines()

# Obtener los nombres de las columnas
column_names = sql_lines[0].strip().split(',')

# Crear un archivo .csv para escribir
with open('archivo.csv', 'w', newline='') as csv_file:
    # Crear un escritor CSV
    csv_writer = csv.writer(csv_file)

    # Escribir los nombres de las columnas en la primera fila del archivo .csv
    csv_writer.writerow(column_names)

    # Escribir los datos en el archivo .csv
    for line in sql_lines[1:]:
        # Eliminar el salto de línea al final de cada línea
        line = line.strip()

        # Dividir la línea en valores separados por comas
        values = line.split(',')

        # Escribir los valores en el archivo .csv
        csv_writer.writerow(values)

Ver el archivo adjunto 22910
Probaré, aunque gpt me hizo varios y nada
 

GreenCash

💲is💲
Noderador
Nodero
Noder
Buenas, tengo archivos de backup.sql de +100 gb que me gustaría convertir a .csv para poder importarlos a un mongodb, ¿tenéis idea de cómo puedo hacerlo?
Le he pedido ayuda a chatgpt pero los scripts que me hace son una basura.

Gracias!
Prueba con otra inteligencia. Tengo un post con muchas inteligencias gratis