¿Cómo descargo y analizo un archivo csv en Racket?¿Cómo descargar y analizar un archivo csv en Racket?
Respuesta
Utilice get-pure-port
para descargar el archivo y utilice la biblioteca Planet(require (planet neil/csv)
) para analizarlo.
El siguiente ejemplo descarga y analiza un archivo csv que contiene datos sobre el tamaño de las diversas islas Galápagos y cuántas especies se encontraron en cada isla.
#lang racket
(require (planet neil/csv:1:=7) net/url)
(define galapagos-url
(string->url
"http://www.stat.washington.edu/~handcock/536/Data/galapagos.csv"))
(define make-galapagos-csv-reader
(make-csv-reader-maker
'((separator-chars #\,)
(strip-leading-whitespace? . #t)
(strip-trailing-whitespace? . #t))))
(define (all-rows url make-reader)
(define next-row (make-reader (get-pure-port url)))
(define (loop)
(define row (next-row))
(if (empty? row)
'()
(cons row (loop))))
(loop))
(all-rows galapagos-url make-galapagos-csv-reader)
Las primeras filas devueltas son:
'(("Island"
"Observed.species"
"Native.species"
"Area(km^2)"
"Elevation(m)"
"Distance.nearest.island(km)"
"Distance.Santa.Cruz(km)"
"Area.adj.island(km^2)")
("Baltra" "58" "23" "25.09" "" "0.6" "0.6" "1.84")
("Bartolome" "31" "21" "1.24" "109" "0.6" "26.3" "572.33")
("Caldwell" "3" "3" "0.21" "114" "2.8" "58.7" "0.78")
Esta respuesta me llevó a donde yo estaba buscando para ir, pero pensé que interrumpiría para los futuros exploradores intrépidos. Hay una invocación más fácil (tal vez con las versiones más nuevas de la biblioteca csv?) Para hacer lo que pide. Por supuesto, esto supone que desea el delimitador de comas, y para quitar espacio en blanco inicial/final como en el ejemplo anterior.
#lang racket
(require (planet neil/csv:2:0) net/url)
;; Continuing with the UW data sources examples
(define iver-url
(string->url
"http://faculty.washington.edu/cadolph/vis/iver.csv"))
(csv->list (get-pure-port iver-url))
En esta versión, el csv-> función de lista crea automáticamente un csv-lector con los valores predeterminados antes mencionados. Puede anular los valores predeterminados (por ejemplo, si tiene un delimitador diferente o no quiere quitar espacio en blanco al final y al final) al pasar un lector de csv personalizado construido con make-csv-reader
al csv->list
.
Neil tiene una nueva biblioteca, lectura de csv, así que úsala en su lugar.
Primera, instale el paquete utilizando Raco:
raco pkg install csv-reading
convertir un archivo CSV a una lista, aquí es una función auxiliar:
(require csv-reading)
(define (csvfile->list filename)
(call-with-input-file filename
csv->list))
Para descargar un archivo CSV archivar y convertir a una lista, hacer esto:
(require net/url)
((compose csv->list get-pure-port string->url) "http://example.com")
Consulte aquí la biblioteca de lectura de csv: csv-reading library, es la versión más reciente (y las demás respuestas utilizan las obsoletas).
- 1. Cómo analizar un archivo CSV en Bash?
- 2. Cómo descargar un archivo csv exportado en Wordpress
- 3. Descargar el archivo CSV usando "AJAX"
- 4. Cómo analizar el archivo CSV en la aplicación de Android?
- 5. Cómo analizar un archivo CSV, actualizar un campo y luego guardar
- 6. Cómo analizar un archivo tar en C++
- 7. ¿Cómo puedo obtener un archivo csv para descargar en IE? Funciona en firefox
- 8. ¿Cómo puedo generar un archivo CSV (archivo de texto delimitado por comas) para descargar con ASP.NET?
- 9. ¿Cómo ejecutar Racket en Emacs?
- 10. Descargar un archivo en D
- 11. Descargar un archivo y redirigir ... o alternativa
- 12. cómo descargar un archivo en java?
- 13. Cargar y analizar el archivo csv con "nueva línea universal" en python en Google App Engine
- 14. ¿Cómo obtener un archivo .csv en R?
- 15. Expresión regular para analizar CSV en PHP
- 16. Cómo abrir un archivo csv en Android
- 17. Cómo usar SQL en un archivo CSV
- 18. Importación de un archivo CSV en Java
- 19. Cómo analizar y modificar un archivo HTML en Java
- 20. Descargando un archivo csv en django
- 21. Cómo analizar un archivo Excel en JavaScript?
- 22. ¿Escribir en el archivo CSV y exportarlo?
- 23. ¿Cómo cargar y descargar dinámicamente un archivo DLL nativo?
- 24. ¿Cómo creo un archivo CSV usando Perl?
- 25. Python: Cómo descargar un archivo zip
- 26. Descargar un archivo usando Javascript
- 27. ¿Cómo analizo eficientemente un archivo CSV en Perl?
- 28. ¿Cómo descargar un archivo con MSYS?
- 29. ¿Cómo puedo descargar dinámicamente un archivo javascript?
- 30. ¿cómo debo analizar el archivo csv en php cuando varía el delimitador?