J'ai un fichier CSV formaté comme: et j'aimerais l'importer en mathématica, puis avoir chaque colonne séparée dans une liste afin que je puisse faire certains mathématiques sur le Colonne sélectionnée. P> Je sais que je peux importer les données avec: p> alors je peux séparer les colonnes avec ceci: P> {"0.0023709", "8.5752e-007", "4.847e-008"}
4 Réponses :
kennytm est correct.
data = Import["data.csv", "CSV"]; column1 = data[[All,1]] column2 = data[[All,2]] ...
Voici la documentation pour importer [..., "CSV"] code>: référence.wolfram.com/mathematica/ref/format/csv.html
Remarque, cela ne fonctionnerait pas si chaque ligne de données possède une colonne de numérotation supplémentaire comme: TV, radio, journal, vente \ n 1 230,1,37.8,69,2,22,1 \ N 2 44.5,39.3,45.1,10.4 \ n
Vous pouvez corriger la notation à l'aide de stringreplace [] code>
.
{col1,col2,col3} = ToExpression[...] & @ Transpose[Import["data.csv", "CSV"]];
La réponse de Davorak est la bonne si vous avez besoin importer un fichier CSV entier comme une matrice. Toutefois, si vous avez une seule chaîne que vous devez convertir de la notation exponentielle de style C / FORTRAN, vous pouvez utiliser importateur code> avec différents arguments pour le format. À titre d'exemple, il existe
In[3]:= Module[{stream = StringToStream["1.0e6"], number},
number = Read[stream, "Number"];
Close[stream];
number]
Out[3]= 1.*10^6
en MMA7, j'utilise l'argument "éléments". En fait, je ne peux pas importer même un fichier .csv sans spécifier l'élément: p>
aa = importer ["data.csv", "données"] p>
Lorsque vous faites cela, toutes les chaînes sont automatiquement converties en expressions: Tête / @ Flatten @ Aa est {réel, réel, ....}. En outre, "8.5752e-007" devient 8.5752 * 10 ^ 7, une expression de la MMA légale. p>
Le résultat de l'importation est une liste 1xn {{...}}. P>
Donc, transposez @ AA donne la liste NX1 {{.}, {.}, ....}. P>
Je pense que c'est le format que vous vouliez. P>
Quelle version de Mathematica utilisez-vous? Mathematica 7 fonctionne bien pour moi. Essayez également d'utiliser
importer ["data.csv", "csv"] code>.