Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Obtener y analizar archivo CSV en android

Estoy tratando de obtener un archivo csv de http://download.finance.yahoo.com/d/quotes.csv?s=msft&f=sl1p2 luego analizarlo para que pueda obtener el precio y el precio cambiado en un objeto Que establece ambas propiedades. ¿Hay una manera que puedo hacer esto con las bibliotecas del androide?

Editar: Aquí está el estado actual de la unión (no funciona):

HttpClient httpClient = new DefaultHttpClient(); HttpContext localContext = new BasicHttpContext(); HttpGet httpGet = new HttpGet(uri); HttpResponse response = httpClient.execute(httpGet, localContext); String result = ""; BufferedReader reader = new BufferedReader(new InputStreamReader(response.getEntity().getContent())); String line = null; while ((line = reader.readLine()) != null){ result += line + "\n"; String[] RowData = result.split("\n"); String name = RowData[0]; String price = RowData[1]; String change = RowData[2]; stock.setPrice(Double.parseDouble(price)); stock.setTicker(name); stock.setChange(change); } 

  • Envío y análisis de objetos JSON
  • ¿Qué analizador DOM de HTML funciona mejor en Android?
  • Reemplazar el analizador estándar de Android JSON para un mejor rendimiento?
  • Analizador de SAX de Android que no obtiene texto completo entre etiquetas
  • Cargando JSON de String en JSONArray en Android
  • Cómo obtener respuesta como String utilizando retrofit sin utilizar GSON o cualquier otra biblioteca en android
  • Analizar: enviar notificaciones push desde la aplicación
  • Cómo analizar este JSON Array en android
  • 2 Solutions collect form web for “Obtener y analizar archivo CSV en android”

    Intente algo como esto:

      //--- Suppose you have input stream `is` of your csv file then: BufferedReader reader = new BufferedReader(new InputStreamReader(is)); try { String line; while ((line = reader.readLine()) != null) { String[] RowData = line.split(","); date = RowData[0]; value = RowData[1]; // do something with "data" and "value" } } catch (IOException ex) { // handle exception } finally { try { is.close(); } catch (IOException e) { // handle exception } } 

    Espero que esto ayude.

    Para la primera parte:

     HttpClient httpClient = new DefaultHttpClient(); HttpContext localContext = new BasicHttpContext(); HttpGet httpGet = new HttpGet("http://download.finance.yahoo.com/d/quotes.csv?s=msft&f=sl1p2"); HttpResponse response = httpClient.execute(httpGet, localContext); String result = ""; BufferedReader reader = new BufferedReader( new InputStreamReader( response.getEntity().getContent() ) ); 

    Para la segunda parte, Harry tiene razón, solo sigue su código, o usa algunas bibliotecas: http://commons.apache.org/sandbox/csv/

     CSVReader reader = new CSVReader(** Insert your Reader here **); String [] nextLine; while ((nextLine = reader.readNext()) != null) { // nextLine[] is an array of values from the line System.out.println(nextLine[0] + nextLine[1] + "etc..."); } 
    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.