web-dev-qa-db-fra.com

exporter un tableau vers un fichier CSV dans Julia

Étant donné un tableau (2d) A, comment l'exporter en fichier csv avec Julia?

De retour dans les anciennes versions, j'écrirais

writecsv( "FileName.csv",  A);

qui viderait le tableau A dans le fichier donné. Cependant, cela ne fonctionne pas dans la version> = 1.0. Après quelques recherches sur Google, j'ai également essayé d'utiliser le module CSV en faisant

f = open("test.csv", "a+");
CSV.write(f, A; delim = ',')

mais cela jette une erreur

ERROR: ArgumentError: no default `Tables.rows` implementation for type: Array{Int64,2}

(mon tableau A était de type Int64).

Quelqu'un at-il une solution de travail pour cette question la plus triviale?

7
Hayk

Vous devez charger le module DelimitedFiles et maintenant seule la fonction writedlm est prise en charge.

Donc, pour écrire un tableau en tant que fichier CSV, utilisez:

Julia> using DelimitedFiles

Julia> writedlm( "FileName.csv",  A, ',')

Pour obtenir le même résultat avec le package CSV.jl, utilisez:

Julia> using CSV, DataFrames

Julia> CSV.write("FileName.csv",  DataFrame(A), writeheader=false)

comme Matrix ne prend pas en charge l'interface Tables.jl, mais par exemple DataFrame le fait.

10
Bogumił Kamiński