Question

Je veux utiliser des bibliothèques Python pour remplacer Matlab. Comment pourrais-je importer des données Excel en Python (par exemple en utilisant NumPy ) pour les utiliser?

Je ne sais pas si Python est une alternative crédible à Matlab, mais je veux essayer. Y at-il un tutoriel?

Était-ce utile?

La solution

Selon le type de calculs que vous faites avec Matlab (et sur lequel vous boîtes à outils utilisent), Python pourrait être une bonne alternative à Matlab.

NumPy + + href="http://en.wikipedia.org/wiki/Matplotlib" rel="nofollow noreferrer"> Matplotlib sont la bonne combinaison pour commencer.

Pour les données, vous pouvez, par exemple, enregistrer vos données directement dans un fichier texte (en supposant que vous n'êtes pas directement concerné par virgule flottante des problèmes de précision) et le lire dans Python .

Si vos données sont données d'Excel, où chaque valeur est séparée par un « ; » , vous pouvez par exemple lire la ligne de fichiers en ligne, et utiliser la méthode split () (avec « » comme argument). pour obtenir chaque valeur

Pour Matlab jusqu'à la version 7.1, il est possible de charger des fichiers .mat directement à partir de Python avec le scipy.io.matlab.mio module.

Autres conseils

Il y a Matplotlib pour les parcelles et Module csv pour la lecture données Excel (en supposant que vous pouvez vider CSV ).

Voici un tutoriel sur le remplacement avec Python Matlab.

Si vous venez de la Matlab monde, Pylab facilitera votre transition. Une fois que vous avez converti vos données en ASCII, pylab.load() fera le reste:

pylab.load(fname, comments='#', delimiter=None, converters=None, 
           skiprows=0, usecols=None, unpack=False, 
           dtype=<type 'numpy.float64'>)

Il y a probablement des centaines de façons que vous pouvez importer des données de texte en Python.

Mais puisque vous voulez remplacer Matlab, vous allez être en utilisant NumPy et probablement SciPy .

Gardez les choses simples: utiliser du texte de chargement standard NumPy:

import numpy
imported_array = numpy.loadtxt('file.txt',delimiter='\t')  # Assuming tab-delimiter
print imported_array.shape

Pandas est une bibliothèque d'analyse de données Python qui peuvent importer / exporter à partir d'Excel assez facilement. Voici comment faire:

http://pandas.pydata.org/pandas-docs/ stable / 10min.html # excellent

Crash Course:

import pandas as pd
data = pd.read_excel('foo.xlsx', 'Sheet1', index_col=None, na_values=['NA'])
  

"Je ne sais pas si Python est une alternative crédible à Matlab"

Pour moi (physique expérimentale) Python est non seulement un remplacement complet Matlab (en incluant SciPy et Matplotlib comme mentionné ci-dessus), mais il est utile pour beaucoup de choses autres que les données et la visualisation croquants (tels sont les besoins généraux de programmation).

  

"Je vais essayer SAGE."

Il convient de noter qu'il ya deux serveurs exécutant Sage qui offrir le environmet portable (consultez Essayez Sage en ligne http://www.sagemath.org/ ). Ceci est assez propre compte tenu du fait que tout ce que vous avez besoin est un navigateur Internet et l'accès (aucune installation requise).

En ce qui concerne la question telle qu'elle est interprétée par Kevin Buchs (dans une autre réponse), la lecture Excel propriétaire à Python peut être fait dans plusieurs méthodes, certains sont la plate-forme (OS) à charge:

  1. Une ressource agréable (plate-forme) - http://www.python-excel.org/
  2. Un exemple en utilisant xlrd que j'ai trouvé une fois utile (ce qui est ce que je quand je avais besoin il): http://code.activestate.com/recipes/483742/ un exemple basé sur xlrd (plate-forme)
  3. pyexcelerator est une autre option.

J'espère que cela aide. Sinon, je peux essayer d'arranger quelques exemples de code moi-même (bien que ceux que j'ai sont plus de six ans ...). Personnellement, je préfère, comme cela a été proposé dans les autres réponses, d'utiliser le format CSV ou ASCII.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top