Ficheros CSV y bases SQL

Hola, buenas tardes y, lo primero de todo muchas gracias por tu tiempo. A ver, te cuento y te confieso en primer lugar que soy bastante poco "informático"... Jejejje!! Por tanto, no sé si diré alguna cosa incoherente o sin sentido... Discúlpame. Pues mi pregunta es eso; ¿es posible volcar datos de un fichero CSV a una base de datos SQL?, ¿cómo se haría? Y luego, dando por supuesto que esto se pudiera hacer... ¿cuál sería la mejor forma para procesarlos?, me han hablado tanto de PHP como de Python; ¿qué opinión tienes al respecto? La idea que pretendo con todo ello es que dando unos condicionantes iniciales al programa en cuestión, éste según los datos de su base, me ofrezca un resultado. No sé si me habré explicado... En cualquier caso si requieres alguna aclaración, no dudes en hacérmelo saber, por favor. Muchas gracias una vez más, saludos. David

2 respuestas

Respuesta
1

La verdad que tus requisitos son un tanto ambiguos y nada claros. Pero responderé en la medida de lo posible.

En cuanto a si es posible volcar un CSV a una base de datos SQL, todo depende de muchas cosas. Dado que como sabrás, en una BBDD todo debe de tener una estructura más robusta si cabe que en un CSV, y sobre todo, que tienes que tener claro si en tu CSV todos los datos representan lo mismo, o hay diferentes aspectos. No obstante, si eso esta bien definidio o es conocido sería posible. Con cualquier lenguaje intermedio que domines [java, C, PHP,...] deberás de : abrir el documento, leer una linea o unos cuantos caracteres y codificarlos todo en una linea INSERT. Realizando un bucle, dependiendo de los datos, todo irá más o menos rápido. No obstante, si el CSV no tiene una estructura homogénea, tendrás problemas que resolver.

Una vez en la BBDD, procesarlos es cosa tuya, por lo que, mi opinión no cuenta al respecto. Siempre se dice que el lenguaje debe de ser un medio para conseguir algo, no una imposición. Si en tu caso dominas más PHP que PYTHON, mi recomendación es que uses PHP, o sino al revés. Con ambos lenguajes se puede trabajar tranquilamente. Si trabajas en alguna empresa, será fundamental que el lenguaje que uses sea aceptado por tus responsables.

Si bien, para un tratamiento de datos en mi caso utilizo Matlab. El volcado de datos es casi automático, y la cantidad de cálculos, herramientas de preprocesamiento, de procesamiento,... son infinitas. No obstante, como no se que datos hay en CSV no puedo saber mucho más...

Cualquier cosa.

Hola, buenos días!!

Muchísimas muchísimas gracias!!!

Pues te cuento... idea casi nula de todos estos lenguajes y programas, por lo tanto no tenemos preferencias. Este proyecto es algo personal, no profesional, que estoy desarrollando con otro compañero de la Universidad, pero vamos, que somos economistas, así que te figuraras que idea de todo esto, la justa.

La idea es volver datos de diferentes categorías (características de jugadores NBA) a un CSV, y de ahí dándole ciertas condiciones que nos simule los miles de posibles desarrollos que pueda tener un partido entre dos equipos para llegar a un resultado teórico... evidentemente esto es súper fácil y seguramente nunca jamás en la vida se le haya ocurrido antes a nadie... jejejje!! Pero bueno!! Respecto a MatLab, sí que me han hablado también de él y recomendado, sería para entenderlo, una alternativa a MySql y no algo complementario, ¿verdad? ¿Otro tipo de programación? Me han hablado, y bien de él... ¿ésta sería tu recomendación teniendo en cuenta que no tenemos ni preferencias ni demasiada idea? En cualquier caso, lo de la programación sería contratarla, no pretendemos, porque sería imposible, hacerla nosotros, con lo de recomendación me refiero más que nada para luego la hora de trabajar con ello. Mil millones de gracias, y espero noticias!! Un saludo!!

El problema es que, según me comentabas al principio querías pasarlo de CSV a una base de datos con SQL para luego procesar los datos. Esto implica tener conocimientos de:

- Recoger los datos y volcarlos en una base de datos. Para ello se requiere conocer instancias de insertado en BBDD y ademas un lenguaje intermedio [java,php,c,...] para hacerlo.

- Extraer la información de la BBDD... una vez con los datos en la BBDD, mediante otras instancias tipo SELECT, deberías de hacer consultas, para sacar los datos y todo el cuerpo de tu programa que genere posibilidades, etc, etc,.. Esto es lo más difícil porque.. tu puedes comparar un jugador de un equipo con otro, pero simular la verdadera naturaleza de un partido: Cambios tácticos de los entrenadores, decisiones arbitrales, la moral de un jugador, todo eso no es algo numérico... no es algo que se pueda modelar con certeza, por lo que realmente no se como lo estáis planteando. No obstante en este sentido suerte.

Como ves son muchas cosas las que debes de hacer, sobre todo por ese paso intermedio de pasar de CSV a BBDD. Mi recomendación es que uséis el CSV como base de datos. Realmente, un CSV almacena datos... por tanto ya es una base de datos. No obstante, es un problema menos, pero sigue habiendo el gran problema... como obtenéis información de los datos... usando un lenguaje intermedio: Java, C, Pyton, PHP o Matlab.

Si no conocéis ninguno, mi recomendación sería que os metierais con MATLAB. Es un potente entorno de desarrollo, con un lenguaje potente. Mi investigación se basa en desarrollar cosas muy potentes con matlab. Coger cualquier tutorial por la red y empezad a probar cosas para ver como os puede venir mejor.

Suerte

Muchísimas, y muchas más, gracias!! Seguiremos con ello y volveré a ti para resolver lo que nos surja en adelante... si llegamos (cuando lleguemos en 2035... je je!!) a MATLAB, te informaría también. Lo dicho, muchas gracias por tu ayuda e interés.

Respuesta
1

Venga no te preocupes que no ha dicho nada incoherente todavía, vas bien.

La respuesta es sí. CSV es un formato compatible para la mayoría de base de datos. Lo primero que necesito saber es qué base de datos vas a utilizar porque no es lo mismo Oracle, Access o MySql.

PhP y Python son lenguajes de programación, te permitirán hacer un programa que vuelque los datos pero la mayoría de bases de datos incorporan ya sus propios programas de importación por eso necesito saber qué base de datos usas. Para poder orientarte.

Buenos días, y muchas gracias!! En principio si no nos dice nadie lo contrario tenemos pensado utilizar MySql. Y desde ahí programar con, en principio, uno de esos dos lenguajes (PhP seguramente, pero abiertos a sugerencias) para que según ciertos condicionantes (miles...) nos dé un resultado final tras la simulación. Muchas gracias por tu interés... continúo esperando tus opiniones y consejos. Saludos!!

php y mysql son muy compatibles y además encontrarás montón de documentación en internet.

Entiendo pues que no tienes aún nada instalado. Pues instala mysql y cuando necesites hacer la importación te explico los comandos que puedes utilizar. Como aperitivo te digo que tu amigo será el comando LOAD DATA INFILE.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas