2009-06-29 9 views
11

मैं MATLAB को प्रतिस्थापित करने के लिए कुछ पायथन पुस्तकालयों का उपयोग करना चाहता हूं। मैं पाइथन में एक्सेल डेटा कैसे आयात कर सकता हूं (उदाहरण के लिए NumPy का उपयोग करके) उनका उपयोग करने के लिए?MATLAB को प्रतिस्थापित करने के लिए पायथन का उपयोग करना: डेटा कैसे आयात करें?

मुझे नहीं पता कि पाइथन MATLAB के लिए एक विश्वसनीय विकल्प है, लेकिन मैं इसे आजमा देना चाहता हूं। क्या कोई ट्यूटोरियल है?

+0

एक तरह से मूल प्रश्न व्याख्या करने के लिए किया जाता है: कैसे मैं एक (स्वामित्व) एक्सेल (.xls, .xlsx) फ़ाइल पढ़ सकते हैं पायथन में इसका उत्तर उपयोगी हो सकता है, लेकिन मेरे पास एक नहीं है। इसलिए, यहां सामान्य प्रवाह एक्सेल, अर्थात्, सीएसवी से दूसरे प्रारूप में निर्यात करना है। –

उत्तर

11

MATLAB (और आप किस टूलबॉक्स का उपयोग कर रहे हैं) के साथ आप किस तरह के कंप्यूटेशंस कर रहे हैं इस पर निर्भर करते हुए, पाइथन MATLAB के लिए एक अच्छा विकल्प हो सकता है।

पायथन + NumPy + SciPy + Matplotlib प्रारंभ करने के लिए सही संयोजन हैं।

डेटा के लिए, उदाहरण के लिए, आप सीधे डेटा फ़ाइल में अपना डेटा सहेज सकते हैं (मानते हैं कि आप सीधे फ़्लोटिंग-पॉइंट परिशुद्धता मुद्दों से संबंधित नहीं हैं) और इसे Python में पढ़ें।

यदि आपका डेटा Excel डेटा है, जहां प्रत्येक मान को ";" से अलग किया जाता है, तो आप उदाहरण के लिए फ़ाइल लाइन को लाइन से पढ़ सकते हैं, और विभाजन() विधि (तर्क के रूप में ";" के साथ) का उपयोग कर सकते हैं प्रत्येक मूल्य।

MATLAB के लिए संस्करण 7.1 अप करने के लिए, यह सीधे .mat scipy.io.matlab.mio मॉड्यूल के साथ अजगर से फाइल लोड करने के लिए संभव है।

3

वहाँ Excel डाटा पढ़ने (यह मानते हुए आप CSV को डंप कर सकते हैं) के लिए भूखंडों के लिए Matplotlib और csv module है।

यहां a tutorial पाइथन के साथ MATLAB को बदलने के बारे में है।

+2

एसएजी (ट्यूटोरियल में उल्लेख करें, देखें http://sagemath.org/) पायथन पर आधारित एक सुंदर ठंडा ढेर है। – stephan

+0

थानक्स बहुत कुछ। मैं एसएजी कोशिश करने जा रहा हूँ। – clowny

3

यदि आप MATLAB दुनिया से आते हैं, तो Pylab आपके संक्रमण को आसान बनाएगा। एक बार जब आप ASCII के लिए अपने डेटा परिवर्तित कर दिया है, pylab.load() आराम करना होगा:

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

मैं और अधिक अजगर का उपयोग कर में कुछ MATLAB डेवलपर्स आसान करने के लिए एक कदम के रूप mlabwrap पर एक नज़र था।

लेकिन मैं इसे साफ करने में असमर्थ रहा हूं, और मैं यहां उत्पादन इंस्टॉल नहीं चलाता, इसलिए मैं पानी में मर चुका हूं।

3

संभवतः तरीकों से आप अजगर में पाठ डेटा आयात कर सकता है के सैकड़ों रहे हैं।

लेकिन चूंकि आप MATLAB को प्रतिस्थापित करना चाहते हैं, तो आप NumPy और शायद SciPy का उपयोग कर रहे हैं।यदि आप आप MATLAB प्रारूप, उपयोग में डेटा सहेजा

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

:

बातें सरल रखें: का उपयोग NumPy के मानक पाठ लोडिंग

from scipy.io import loadmat 

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

"मैं नहीं जानता कि यदि अजगर MATLAB के लिए एक विश्वसनीय विकल्प है "

मेरे लिए (प्रयोगात्मक भौतिक आईसीएस) अजगर न केवल MATLAB (के लिए एक पूरी प्रतिस्थापन जब SciPy और Matplotlib जैसा कि ऊपर उल्लेख सहित) है, लेकिन यह कई डेटा क्रंचिंग और दृश्य (जैसे सामान्य प्रोग्रामिंग की जरूरत है कर रहे हैं) के अलावा अन्य बातों के लिए उपयोगी है।

"मैं सेज की कोशिश करने जा रहा हूँ।"

यह (http://www.sagemath.org/ में Try Sage online जांच) टिप्पण वहाँ Sage जो नोटबुक environmet की पेशकश चला रहे सर्वरों के एक जोड़े हैं कि लायक है। यह तथ्य बहुत साफ है कि आपको इसकी आवश्यकता है एक इंटरनेट ब्राउज़र और पहुंच (कोई स्थापना आवश्यक नहीं है)।

प्रश्न के रूप में (एक और जवाब में) केविन Buchs द्वारा व्याख्या का सवाल है, अजगर को पढ़ने मालिकाना एक्सेल कई तरीकों से किया जा सकता है, कुछ मंच (ओएस) निर्भर कर रहे हैं:

  1. एक अच्छा संसाधन (मंच स्वतंत्र) - http://www.python-excel.org/
  2. xlrd जो मैं एक बार उपयोगी पाया (यह जब मैं यह आवश्यक है कि मैं क्या उपयोग किया जाता है) का उपयोग कर एक उदाहरण: http://code.activestate.com/recipes/483742/ xlrd (मंच स्वतंत्र)
  3. pyexcelerator के आधार पर एक उदाहरण के लिए एक और विकल्प है।

मुझे उम्मीद है कि इससे मदद मिलती है। यदि नहीं, तो मैं खुद को कुछ उदाहरण कोड व्यवस्थित करने का प्रयास कर सकता हूं (हालांकि मेरे पास छह साल से अधिक पुराने हैं ...)। मैं व्यक्तिगत रूप से पसंद करता हूं, जैसा कि अन्य उत्तरों में प्रस्तावित किया गया था, सीएसवी या एएससीआईआई प्रारूप का उपयोग करने के लिए।

2

पांडा एक अजगर डेटा विश्लेषण पुस्तकालय है कि बहुत आसानी से/एक्सेल से निर्यात आयात कर सकते हैं। यहां इसका तरीका बताया गया है:

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

क्रैश कोर्स:

import pandas as pd 
data = pd.read_excel('foo.xlsx', 'Sheet1', index_col=None, na_values=['NA']) 
संबंधित मुद्दे

 संबंधित मुद्दे