Mathematica - Import CSV et processus de colonnes?
J'ai un fichier CSV qui est formaté comme:
0.0023709,8.5752e-007,4.847e-008
et j'aimerais l'importer dans Mathematica et puis demandez à chaque colonne séparée dans une liste afin que je puisse faire quelques calculs sur la colonne sélectionnée.
Je sais que je peux importer les données avec:
Import["data.csv"]
alors je peux séparer les colonnes avec ceci:
StringSplit[data[[1, 1]], ","]
qui donne:
{"0.0023709", "8.5752e-007", "4.847e-008"}
Le problème maintenant est que je ne sais pas comment obtenir les données dans des listes individuelles et aussi Mathematica n'accepte pas la notation scientifique dans le formulaire 8.5 e-007.
Toute aide dans la façon de briser les données dans des colonnes et le format de la notation scientifique.
Merci d'avance.
La version de Mathematica utilisez-vous? Mathematica 7 fonctionne très bien pour moi. Aussi, essayez de
Import["data.csv", "CSV"]
.OriginalL'auteur Nope | 2010-03-26
Vous devez vous connecter pour publier un commentaire.
KennyTM est correct.
Import[..., "CSV"]
: reference.wolfram.com/mathematica/ref/format/CSV.htmlRemarque, cela ne fonctionnerait pas si chaque ligne de données supplémentaires colonne de numérotation comme: la TÉLÉVISION,la Radio,les Journaux,la Vente \n 1,230.1,37.8,69.2,22.1\n 2,44.5,39.3,45.1,10.4\n
OriginalL'auteur Davorak
Davorak réponse est correcte si vous avez besoin d'importer un ensemble de fichier CSV dans un tableau. Toutefois, si vous avez une seule chaîne que vous avez besoin de les convertir à partir de la C/Fortran style de notation exponentielle, vous pouvez utiliser
ImportString
avec des arguments différents pour le format. Comme un exemple, il y aLa
*^
opérateur est Mathematica est l'équivalent de lae
. Remarque c'est aussi un bon moyen de briser les chaînes qui sont en CSV forme:Dans les deux cas, vous aurez votre réponse enveloppé dans un niveau supplémentaire de la structure de liste, ce qui est assez facile à traiter. Toutefois, si vous êtes vraiment sûr que vous n'avez ou souhaitez un numéro unique, vous pouvez transformer la chaîne de caractères dans un cours d'eau et l'utilisation
Read
. C'est assez lourd que je collerais àImportString
, cependant:OriginalL'auteur Pillsy
Vous pouvez fixer la notation en utilisant
StringReplace[]
.Vous pouvez mettre l'ensemble du tableau de données en lieu et place de " aa " à " le processus est tout à la fois avec un liner
avec
ToExpression[...]
comme ci-dessus.OriginalL'auteur Timo
Dans la MMA7, j'utilise les "éléments" de l'argument. En fait, je ne peux pas Importer même un .fichier csv sans spécification de l'élément:
aa=Importation["des données.csv","Data"]
Lorsque vous faites cela, toutes les chaînes sont automatiquement converties en expressions: Tête/@Aplatir@aa est {Vrai, Réel, ....}. Aussi, "8.5752 e-007" devient 8.5752*10^7, juridique MMA expression.
Le résultat de l'Importation est un 1xn liste {{ ... }}.
Donc, de la Transposition de@aa donne le nx1 liste {{.},{.}, .... }.
Je pense que c'est le format que tu voulais.
OriginalL'auteur Mark E Harder