2009-12-22 17 views
6

में सूची/सरणी के रूप में फ़ाइल से डेटा आयात करने के लिए कैसे करें मेरे पास डेटा (अंक) है जो मुझे किसी अन्य प्रोग्राम से मैथमैटिका में आयात करना है, इसलिए मैं इसे साजिश कर सकता हूं। मेरे पास इस बात पर नियंत्रण है कि फाइल को अंक कैसे लिखा जा रहा है, इसलिए मैं उन्हें किसी भी तरह से रख सकता हूं। उन्हें गणित में आयात करने का सबसे अच्छा तरीका क्या है? मैं StreamDensityPlot उपयोग करने के लिए जा रहा हूँ के रूप में, चर मैं StreamDensityPlot को पारित करने के लिए निम्नलिखित तरीके से होना होगा होगा:गणित

data = { 
     { 
      { a, b, c }, {a, b, c}, {a, b, c}, 
      { a, b, c }, {a, b, c}, {a, b, c}, 
      { a, b, c }, {a, b, c}, {a, b, c}, 
     } 
    ... 
     { 
      { a, b, c }, {a, b, c}, {a, b, c}, 
      { a, b, c }, {a, b, c}, {a, b, c}, 
      { a, b, c }, {a, b, c}, {a, b, c}, 
     } 
    } 

कैसे आप मध्यवर्ती पाठ फ़ाइल में डेटा डाल करने के लिए मुझे सलाह चाहते हैं? और इसे आयात करने के लिए मुझे क्या उपयोग करना चाहिए? मैंने आयात किया है ["mytext.txt", "सूची"], जिसमें मेरी टेक्स्ट फ़ाइल ऊपर दिखाए गए फॉर्म में कुछ है लेकिन ऐसा लगता है कि गणित अंक को स्ट्रिंग के रूप में मानता है, और मैं उनके साथ कुछ भी नहीं कर सकता। क्या स्ट्रिंग्स को मनमाने ढंग से डेटा में परिवर्तित करने का कोई तरीका है जैसा कि अन्य भाषाओं में संभव है (बशर्ते वे उस नए डेटा प्रकार में मान्य हों)?

संक्षिप्त:

  1. यह एक स्ट्रिंग, उदाहरण के लिए, "5" के लिए एक नंबर में बदलने के लिए, मेथेमेटिका में संभव है? यदि हां, तो कैसे?
  2. क्या मैथमैटिका में एक सूची में "{1, 2, 3}" जैसी स्ट्रिंग को परिवर्तित करना संभव है? यदि हां, तो कैसे?
  3. क्या मैथमैटिका में ऊपर दिखाए गए सूचियों की सूची के रूप में एक CSV फ़ाइल लोड करना संभव है?

धन्यवाद

उत्तर

9

भाव को स्ट्रिंग्स परिवर्तित ToExpression साथ किया जाता है। यदि आपके पास उदाहरण के रूप में प्रारूपण के साथ एक सादा पाठ फ़ाइल foo.txt है, तो इसे Get के साथ गणित में आयात करें, यानी << /path/to/foo.txt; आपके इच्छित तरीके से data आयात और मूल्यांकन करेगा, अभिव्यक्ति अनुवादों के लिए पाठ की आवश्यकता नहीं है।

+2

डेटा = ToExpression [आयात [ "/ फ़ोल्डर/yourimportfile.txt "]]; – Christoph

5

इस तरह अपनी डेटा फ़ाइल प्रारूपित करने का प्रयास:

A, B, C, A, B, C, A, B, C 
A, B, C, A, B, C, A, B, C 
A, B, C, A, B, C, A, B, C 
... 

तो तुम मेथेमेटिका के CSV आयात का उपयोग कर सकते हैं। फिर प्रत्येक पंक्ति को आयात के बाद बिंदुओं की सूची में विभाजित करें।

Partition[#, 3]& /@ Import["file.csv", "CSV"] 

इसके अलावा, कि मेथेमेटिका (सी की तुलना में अलग वैज्ञानिक संकेतन करता है या जो कुछ भी भाषा आप डेटा फ़ाइल में लिखने का उपयोग कर रहे हैं ध्यान में रखना।