Perl en Español

  1. Home
  2. Tutoriales
  3. Foro
  4. Artículos
  5. Donativos
  6. Publicidad
 
Índice general » En Comunidad » Proyectos » Leer archivo CSV e insertarlo en MySQL Responder al tema
Nuevo tema


Página 1 de 1  [ 3 mensajes ] 
 
Nota 2012-01-17 14:20 @639

Perlero Nuevo
Registrado: 2012-01-16 12:29 @562
Mensajes: 4
Leer archivo CSV e insertarlo en MySQL
Hola, me presento: soy Rafael, estoy aprendiendo Perl, la verdad soy muy nuevo en esto.

Éste lo acabo de hacer pero está sujeto a cambios y mejoras. Por lo pronto solo lee el archivo y lo inserta en una tabla de MySQL, por si a alguien le sirve.

Syntax: [ Download ] [ Hide ]
Using perl Syntax Highlighting
  1. #!/usr/bin/perl -w
  2. use warnings;
  3. use strict;
  4.  
  5. use lib '/modules';
  6. use azdb;
  7.  
  8. my $dbh = azdb->connect_callcenterdb();
  9.  
  10. my @lines = ();
  11. my $line  = "";
  12. open( CSV, "<", "tablacsv1.csv" ) or die("Can not open input file: $!");
  13. @lines = <CSV>;                        #Lines
  14. close(CSV);
  15.  
  16. my @data = parse_csv( shift(@lines) );
  17. foreach my $line (@lines) {
  18.     @data = parse_csv($line);          #
  19.  
  20.     $dbh->do("INSERT INTO test.pruebarafa VALUES (null, '$data[0]', '$data[1]', '$data[2]', '$data[3]', '$data[4]')");
  21.     print "INSERT INTO test.pruebarafa VALUES (null, '$data[0]', '$data[1]', '$data[2]', '$data[3]', '$data[4]'   ";
  22.  
  23.     #Returns an array with all the fields of a row from the csv file
  24.     sub parse_csv {
  25.         my $text = shift;
  26.         my @new  = ();
  27.         push( @new, $+ ) while $text =~ m{
  28.        "([^\"\\]*(?:\\.[^\"\\]*)*)",?
  29.            |  ([^,]+),?
  30.            | ,
  31.        }gx;
  32.  
  33.         #The regex above splits each file by comma and ignores a comma between " "
  34.         push( @new, undef ) if substr( $text, -1, 1 ) eq ',';
  35.         return @new;
  36.     }
  37. }


Estoy tratando de hacer un sistema que lea archivo CSV y los guarde en sus propias tablas,
para mostrarlos acomodados en un Website. Son web schedules lo que quiero hacer.


Última edición por explorer el 2012-01-17 14:28 @644, editado 1 vez en total
Formateado de código con Perltidy y poner marcas Perl


Nota 2012-01-17 14:33 @648
Avatar de Usuario
Administrador
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España
Mensajes: 10261
Re: Leer archivo CSV e insertarlo en MySQL
Bienvenido a los foros de Perl en español, rafilla.

Aquí estaremos para cuando te atasques.

Recuerda que hay un foro dedicado a Proyectos, que quizás es más acorde con lo que quieres hacer, mientras que este de Básico, es más para resolver dudas.

_________________
JF^D Perl programming


Nota 2012-01-17 14:37 @651

Perlero Nuevo
Registrado: 2012-01-16 12:29 @562
Mensajes: 4
Re: Leer archivo CSV e insertarlo en MySQL
Ok, explorer, desconocía esa sección pero la tomaré en cuenta ya que es bastante complicado el proyecto que intento hacer, al menos para mi. Cuando tenga más avances se los publico en la sección antes mencionada.

P.D. Sorry por la falta de acentos. Este teclado está configurado para inglés.


Responder al tema  [ 3 mensajes ] 

Reglas del Foro
No puedes abrir nuevos temas en este Foro
No puedes responder a temas en este Foro
No puedes editar tus mensajes en este Foro
No puedes borrar tus mensajes en este Foro
No puedes enviar adjuntos en este Foro

Publicidad

Socializa

Síguenos por Twitter

Suscríbete GRATUITAMENTE al Boletín de Perl en Español

Saltar a:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Traducción al español por Huan Manwë para phpbb-es.com
phpBB SEO