Cómo leer un archivo CSV en Java

Escrito por kevin walker | Traducido por meme traverso lizarraga
  • Comparte
  • Twittea
  • Comparte
  • Pin
  • E-mail
Cómo leer un archivo CSV en Java
El formato simple de los archivos CSV hace que sea fácil crear tu propio intérprete de archivos. (Ciaran Griffin/Lifesize/Getty Images)

Los archivos CSV (Comma Separated Value) se usan comúnmente como un formato universal para intercambiar datos simples, sobre todo entre aplicaciones de hoja de cálculo. El formato es simple. Toma una tabla de datos y coloca el nombre de cada columna en la primera línea, cada nombre separado de los demás por una coma. A continuación, ve a través de toda la tabla colocando cada fila en una línea con cada columna separadas por comas. El programa Java no tiene una utilidad construida para la lectura de archivos CSV, pero eso no debería evitar que los puedas utilizar en tus aplicaciones Java. El formato simple hace que sea fácil crear tu propio intérprete de archivos CSV en Java.

Nivel de dificultad:
Moderadamente fácil

Otras personas están leyendo

Instrucciones

  1. 1

    Crea una nueva clase denominada CSVParser.java pegando lo siguiente en un archivo de texto vacío:

    import java.io.File; import java.io.FileNotFoundException; import java.util.ArrayList; import java.util.Scanner; import javax.swing.table.DefaultTableModel; import javax.swing.table.TableModel;

    public class CSVParser {

    }

  2. 2

    Pega el siguiente método "intérprete" por dentro, entre las llaves de la clase:

    public static TableModel parse(File f) throws FileNotFoundException {

    ArrayList<String> headers = new ArrayList<String>(); ArrayList<String> oneDdata = new ArrayList<String>();

    // Obtiene los encabezados de la tabla. Scanner lineScan = new Scanner(f); Scanner s = new Scanner(lineScan.nextLine()); s.useDelimiter(","); while (s.hasNext()) { headers.add(s.next()); }

    // Pasa por cada línea de la tabla y agrega cada celda al ArrayList while (lineScan.hasNextLine()) { s = new Scanner(lineScan.nextLine()); s.useDelimiter(", *"); while (s.hasNext()) { oneDdata.add(s.next()); } } String[][] data = new String[headers.size()][oneDdata.size()/headers.size()];

    // Mueve los datos en el array vanilla para poder ingresarlo en la tabla. for (int x = 0; x < headers.size(); x++) { for (int y = 0; y < data[0].length; y++) { data[x][y] = oneDdata.remove(0); } }

    // Crea una tabla y la devuelve. return new DefaultTableModel(data, headers.toArray());

    }

  3. 3

    Pega el siguiente método principal justo por debajo del método de interpretación del Paso 2:

    public static void main(String[] args) throws FileNotFoundException { // Llama al método de interpretación y pone el resultado en una tabla. TableModel t = CSVParser.parse(new File("test.csv"));

    // Imprime todas las columnas de la tabla, seguido por una nueva línea. for (int x = 0; x < t.getColumnCount(); x++) { System.out.print(t.getColumnName(x) + " "); } System.out.println();

    // Imprime todos los datos de la tabla. for (int x = 0; x < t.getRowCount(); x++) { for (int y = 0; y < t.getColumnCount(); y++) { System.out.print(t.getValueAt(x, y) + " "); } System.out.println(); }

    }

No dejes de ver

Referencias

Filtrar por:
  • Mostrar todos
  • Artículos
  • Galerías de fotos
  • Videos
Ordenar:
  • Más relevante
  • Más popular
  • Más reciente

No se encuentran artículos disponibles

No se encuentran slideshows disponibles

No se encuentran videos disponibles