सीएसवी ( Comma Separated Values ) एक टेबल स्टोरेज फॉर्मेट है जिसमें सेल वैल्यू को "," सिंबल से अलग किया जाता है। "," के बजाय विभाजक का उपयोग किसी अन्य वर्ण के लिए किया जा सकता है। हालाँकि, AppMaster को अल्पविराम की आवश्यकता होती है।
यह सुनिश्चित करना महत्वपूर्ण है कि यह चरित्र कोशिका के अंदर न हो। अन्यथा, फ़ाइल डेटा गलत तरीके से पढ़ा जाएगा।
सबसे पहले, एक डेटा मॉडल बनाएं जहां CSV फ़ाइल की जानकारी सहेजी जाएगी। उदाहरण के लिए, आइए उड़ानों के लिए डेटा मॉडल बनाते हैं। इसमें निम्नलिखित फ़ील्ड होंगे:
- flight_no - उड़ान संख्या, पूर्णांक प्रारूप में;
- स्ट्रिंग प्रारूप में गंतव्य ;
- कक्षाएं - इस उड़ान के लिए उपलब्ध उड़ान वर्ग, सरणी [स्ट्रिंग] प्रारूप।
आयात की जाने वाली फ़ाइल का एक उदाहरण:
पहले कॉलम में flight_no है, दूसरे में destination , और तीसरे में classes ।
तीसरे कॉलम में, मानों को अर्धविराम द्वारा अलग किया जाता है।
एक व्यवसाय प्रक्रिया बनाएं
Business Logic टैब पर जाएं और Create Business Process बटन पर क्लिक करें।
इस व्यवसाय प्रक्रिया के लिए एक CSV फ़ाइल की आवश्यकता है, इसलिए फ़ाइल फ़ील्ड को Start ब्लॉक में जोड़ें।
इसके बाद, हमें Read CSV फ़ाइल ब्लॉक की आवश्यकता है।
इसी तरह, आप संबंधित स्वरूपों के लिए रीड एक्सएलएस Read XLS file और Read XLSX file ब्लॉक का उपयोग कर सकते हैं।
Read CSV file ब्लॉक कैसे काम करता है:
इसमें दो आउटपुट कनेक्टर हैं: Each Row और Completed. जब ब्लॉक सक्रिय होता है, तो यह फ़ाइल लाइन को लाइन से पढ़ेगा, और हर बार यह Each Row कनेक्टर को सक्रिय करेगा और पंक्ति संख्या (पंक्ति संख्या, 1 से शुरू होकर) और पंक्ति कॉलम को वर्तमान के सभी स्तंभों की एक स्ट्रिंग सरणी पास करेगा। पंक्ति।
फ़ाइल को Start ब्लॉक से Read CSV file ब्लॉक में पास करें:
इसके बाद, For Each Loop जोड़ें। यह स्ट्रिंग सरणी को संसाधित करेगा जो Read CSV file ब्लॉक भेजता है।
Each Loop के लिए, Read CSV file, सरणी के प्रत्येक तत्व को संसाधित करता है और उनमें से प्रत्येक के लिए Loop Body कनेक्टर को सक्रिय करता है।
For Each Loop ब्लॉक में अनुक्रमणिका आउटपुट फ़ील्ड सरणी तत्व की अनुक्रमणिका संख्या है। यह 0 से शुरू होता है।
सभी कनेक्टर्स को कनेक्ट करें:
अगला ब्लॉक Switch है। इसकी मदद से, हम यह निर्धारित करेंगे कि विभिन्न क्षेत्रों से मान कहाँ लिखना है।
Switch किसी भी प्रकार के इनपुट को स्वीकार कर सकता है और इसके आधार पर विभिन्न आउटपुट कनेक्टर को सक्रिय कर सकता है। यदि इनपुट मान किसी भी बनाए गए कनेक्टर से मेल नहीं खाता है, तो Default कनेक्टर सक्रिय हो जाता है।
CSV फ़ाइल में तीन कॉलम होते हैं, जिसका अर्थ है कि प्रत्येक पंक्ति कॉलम सरणी में तीन मान हमेशा एक ही क्रम में संग्रहीत होते हैं:
- संख्या;
- दिशा;
- कक्षाएं।
इसलिए, हम Switch ब्लॉक 0, 1, और 2 में तीन आउटपुट कनेक्टर बनाएंगे और इंडेक्स को For Each Loop ब्लॉक से Switch ब्लॉक में पास करेंगे।
फ़ाइल के पहले कॉलम में फ़्लाइट नंबर होता है। लेकिन For Each Loop ब्लॉक इसे string प्रारूप में प्राप्त करता है। इसलिए, हम इसे सहेजने से पहले To integer ब्लॉक का उपयोग करके इसे एक पूर्णांक में बदल देते हैं। उसके बाद, Set variable ब्लॉक का उपयोग करके इसे एक वेरिएबल में सेव करें।
फ़ाइल के दूसरे कॉलम में string प्रारूप में दिशा है। इसे तुरंत एक वेरिएबल में सेव किया जा सकता है।
फ़ाइल के तीसरे कॉलम में अर्धविराम द्वारा अलग किए गए वर्गों की एक सूची है। For Each Loop ब्लॉक इसे स्ट्रिंग प्रारूप में भी प्राप्त करता है। तो इसे तारों की एक सरणी में विभाजित करें। ऐसा करने के लिए, हम Split String ब्लॉक का उपयोग करते हैं। आइए इसमें कक्षाओं की सूची के साथ एक स्ट्रिंग पास करें और ";" सेट करें डिफ़ॉल्ट विभाजक के रूप में।
प्राप्त मूल्य को एक चर में सहेजें।
प्रत्येक पंक्ति में सभी कॉलम मानों के माध्यम से एक लूप सेटअप समाप्त हो गया है।
हमें फ़ाइल में प्रत्येक पंक्ति से एक प्रविष्टि बनाने की आवश्यकता है। हम ऐसा करने के For Each Loop ब्लॉक और Make flight ब्लॉक में पूर्ण आउटपुट कनेक्टर का उपयोग करते हैं। आइए चक्र के दौरान प्राप्त सभी चर को इसमें स्थानांतरित करें।
अब DB Create flight ब्लॉक का उपयोग करके Make flight में बनाए गए मॉडल को सेव करें।
इस प्रकार, प्रत्येक पंक्ति को डेटाबेस में एक रिकॉर्ड के रूप में सहेजा जाता है।
अब हमें फ़ाइल को संसाधित करना समाप्त करना होगा। हम Read CSV file ब्लॉक में completed आउटपुट कनेक्टर का उपयोग करेंगे और इसे End ब्लॉक से कनेक्ट करेंगे।
फ़ाइल से आयात करने के लिए BP समाप्त हो गया है।
Endpoint सेटअप
Endpoints टैब पर जाएं और एक नया एंडपॉइंट बनाएं।
POST पद्धति का चयन करें, URL पता सेट करें, Flight group का चयन करें, और निर्मित BP Import CSV चुनें।
फ़्रंटएंड पर एक बटन सेट करना
अब हमें फाइल अपलोड करने के लिए फ्रंट एंड पर एक बटन सेट करना होगा।
File picker तत्व को कैनवास पर खींचें।
और इसके लिए BP सेट करें:
onSelectfiles ट्रिगर का प्रयोग करें। यह ट्रिगर फ़ाइलों को एक सरणी के रूप में प्राप्त करता है, भले ही केवल एक फ़ाइल हो। इसलिए, हम सरणी से एक तत्व प्राप्त करने के लिए Array Element ब्लॉक का उपयोग करेंगे। आइए सरणी से पहला तत्व प्राप्त करने के लिए अनुक्रमणिका फ़ील्ड को 0 पर सेट करें।
अब Server request POST /_files/ ब्लॉक का उपयोग करके अपलोड की गई फ़ाइल को डेटाबेस में सहेजें।
विस्तृत Expand file ब्लॉक का उपयोग करके परिणामी फ़ाइल का विस्तार करें।
अब आईडी (जो इस मामले में एक फाइल है) को Server request POST /flight/csv/ ब्लॉक में पास करें।