Frage

Ich möchte einige Python-Bibliotheken verwenden MATLAB zu ersetzen. Wie könnte ich importieren Excel-Daten in Python (zum Beispiel unter Verwendung von NumPy ), um sie zu benutzen?

Ich weiß nicht, ob Python eine glaubwürdige Alternative zu MATLAB, aber ich will es versuchen. Gibt es ein ein Tutorial?

War es hilfreich?

Lösung

Je nachdem, welche Art von Berechnungen Sie tun MATLAB (und auf dem Toolboxen Sie Python verwenden), eine gute Alternative zu MATLAB sein könnte.

Python + NumPy + SciPy + Matplotlib die richtige Kombination ist zu starten.

Für die Daten, können Sie zum Beispiel Ihre Daten direkt in Textdatei speichern (unter der Annahme, dass Sie nicht direkt von Gleitkommagenauigkeit Fragen betroffen sind) und lesen Sie es in Python .

Wenn Ihre Daten sind Excel Daten, wobei jeder Wert durch eine getrennt ist „;“ Sie können zum Beispiel der Datei Zeile für Zeile lesen, und den Split () -Methode (mit „;“ als Argument). jeden Wert erhalten

Für MATLAB bis zur Version 7.1 ist es möglich, direkt zu laden .mat Dateien von Python mit dem scipy.io.matlab.mio Modul.

Andere Tipps

Es gibt Matplotlib für Grundstücke und die csv-Modul zum Lesen Excel Daten (vorausgesetzt, Sie Dump können CSV ).

Hier ist ein Tutorial über das ersetzen MATLAB mit Python.

Wenn Sie von der MATLAB Welt, Pylab wird Ihren Übergang erleichtern. Sobald Sie Ihre Daten in ASCII konvertiert haben, pylab.load() erledigt den Rest:

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

Es gibt wahrscheinlich Hunderte von Möglichkeiten, wie Sie Textdaten in Python importieren könnten.

Aber da Sie ersetzen möchten, MATLAB , Sie gehen werden mit NumPy und wahrscheinlich SciPy .

Halten Sie die Dinge einfach: NumPy Standardtext-Laden verwenden:

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

Pandas ist eine Python-Datenanalyse-Bibliothek, die ziemlich leicht / Export aus Excel importieren. Hier ist, wie es zu tun:

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

Crashkurs:

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

hatte ich einen Blick auf mlabwrap als Schritt einige MATLAB Entwickler in Python mehr.

Aber ich habe es sauber zu bauen nicht in der Lage zu sein, und ich nicht laufe Produktion hier installiert, so dass ich bin tot im Wasser.

Wenn Sie gespeichert Sie Daten in MATLAB Format verwenden:

from scipy.io import loadmat

datafile = "yourfile.mat"
data = loadmat(datafile, matlab_compatible=True)
var1 = data['nameOfYourVariable'].squeeze()
var2 = data['nameOfYourOtherVariable'].squeeze()
  

"Ich weiß nicht, ob Python eine glaubwürdige Alternative zu MATLAB ist"

Für mich (Experimentalphysik) Python ist nicht nur ein vollwertiger Ersatz für MATLAB (wenn einschließlich SciPy und Matplotlib wie oben erwähnt), aber es ist nützlich für viele anderen Dinge als Daten Knirschen und Visualisierung (wie sind die allgemeine Programmierbedarf).

  

"Ich werde SAGE versuchen."

Es ist erwähnenswert, dass es ein paar Server laufen Sage die bietet das Notebook environmet (überprüfen Versuchen Sage Online in http://www.sagemath.org/ ). Das ist recht ordentlich angesichts der Tatsache, dass alles, was Sie brauchen, ist ein Internet-Browser und Zugang (keine Installation erforderlich).

Was die Frage von Kevin Buchs interpretiert (in einer anderen Antwort), proprietäre Excel zu Python Lesen kann in verschiedenen Verfahren durchgeführt wird, sind einige Plattformen (O) abhängig:

  1. Eine nette Ressource (plattformunabhängig) - http://www.python-excel.org/
  2. Ein Beispiel unter Verwendung von xlrd , die ich einmal nützlich gefunden (das ist, was ich früher, als ich brauchte it): http://code.activestate.com/recipes/483742/ für ein Beispiel basierend auf xlrd (plattformunabhängig)
  3. pyexcelerator ist eine weitere Option.

Ich hoffe, das hilft. Wenn nicht, kann ich versuchen, einige Beispiel-Code zu arrangieren mich (obwohl die, die ich habe, sind mehr als sechs Jahre alt ...). Ich persönlich bevorzugen, wie es in den anderen Antworten vorgeschlagen wurde, die CSV oder ASCII-Format zu verwenden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top