सीएसवी ( Comma Separated Values ) एक टेबल स्टोरेज फॉर्मेट है जिसमें सेल वैल्यू को "," सिंबल से अलग किया जाता है। "," के बजाय विभाजक का उपयोग किसी अन्य वर्ण के लिए किया जा सकता है। हालाँकि, AppMaster को अल्पविराम की आवश्यकता होती है।

यह सुनिश्चित करना महत्वपूर्ण है कि यह चरित्र कोशिका के अंदर न हो। अन्यथा, फ़ाइल डेटा गलत तरीके से पढ़ा जाएगा।

सबसे पहले, एक डेटा मॉडल बनाएं जहां CSV फ़ाइल की जानकारी सहेजी जाएगी। उदाहरण के लिए, आइए उड़ानों के लिए डेटा मॉडल बनाते हैं। इसमें निम्नलिखित फ़ील्ड होंगे:

DB example

  • flight_no - उड़ान संख्या, पूर्णांक प्रारूप में;
  • स्ट्रिंग प्रारूप में गंतव्य ;
  • कक्षाएं - इस उड़ान के लिए उपलब्ध उड़ान वर्ग, सरणी [स्ट्रिंग] प्रारूप।

आयात की जाने वाली फ़ाइल का एक उदाहरण:

File example

पहले कॉलम में flight_no है, दूसरे में destination , और तीसरे में classes

तीसरे कॉलम में, मानों को अर्धविराम द्वारा अलग किया जाता है।

एक व्यवसाय प्रक्रिया बनाएं

Business Logic टैब पर जाएं और Create Business Process बटन पर क्लिक करें।

Creating BP

इस व्यवसाय प्रक्रिया के लिए एक CSV फ़ाइल की आवश्यकता है, इसलिए फ़ाइल फ़ील्ड को Start ब्लॉक में जोड़ें।

Creating variable

इसके बाद, हमें Read CSV फ़ाइल ब्लॉक की आवश्यकता है।

इसी तरह, आप संबंधित स्वरूपों के लिए रीड एक्सएलएस Read XLS file और Read XLSX file ब्लॉक का उपयोग कर सकते हैं।

Read CSV file ब्लॉक कैसे काम करता है:

इसमें दो आउटपुट कनेक्टर हैं: Each Row और Completed. जब ब्लॉक सक्रिय होता है, तो यह फ़ाइल लाइन को लाइन से पढ़ेगा, और हर बार यह Each Row कनेक्टर को सक्रिय करेगा और पंक्ति संख्या (पंक्ति संख्या, 1 से शुरू होकर) और पंक्ति कॉलम को वर्तमान के सभी स्तंभों की एक स्ट्रिंग सरणी पास करेगा। पंक्ति।

फ़ाइल को Start ब्लॉक से Read CSV file ब्लॉक में पास करें:

Read CSV block

इसके बाद, For Each Loop जोड़ें। यह स्ट्रिंग सरणी को संसाधित करेगा जो Read CSV file ब्लॉक भेजता है।

Each Loop के लिए, Read CSV file, सरणी के प्रत्येक तत्व को संसाधित करता है और उनमें से प्रत्येक के लिए Loop Body कनेक्टर को सक्रिय करता है।

For Each Loop ब्लॉक में अनुक्रमणिका आउटपुट फ़ील्ड सरणी तत्व की अनुक्रमणिका संख्या है। यह 0 से शुरू होता है।

सभी कनेक्टर्स को कनेक्ट करें:

For each loop block

अगला ब्लॉक Switch है। इसकी मदद से, हम यह निर्धारित करेंगे कि विभिन्न क्षेत्रों से मान कहाँ लिखना है।

Switch किसी भी प्रकार के इनपुट को स्वीकार कर सकता है और इसके आधार पर विभिन्न आउटपुट कनेक्टर को सक्रिय कर सकता है। यदि इनपुट मान किसी भी बनाए गए कनेक्टर से मेल नहीं खाता है, तो Default कनेक्टर सक्रिय हो जाता है।

CSV फ़ाइल में तीन कॉलम होते हैं, जिसका अर्थ है कि प्रत्येक पंक्ति कॉलम सरणी में तीन मान हमेशा एक ही क्रम में संग्रहीत होते हैं:

  1. संख्या;
  2. दिशा;
  3. कक्षाएं।

इसलिए, हम Switch ब्लॉक 0, 1, और 2 में तीन आउटपुट कनेक्टर बनाएंगे और इंडेक्स को For Each Loop ब्लॉक से Switch ब्लॉक में पास करेंगे।

switch block

फ़ाइल के पहले कॉलम में फ़्लाइट नंबर होता है। लेकिन For Each Loop ब्लॉक इसे string प्रारूप में प्राप्त करता है। इसलिए, हम इसे सहेजने से पहले To integer ब्लॉक का उपयोग करके इसे एक पूर्णांक में बदल देते हैं। उसके बाद, Set variable ब्लॉक का उपयोग करके इसे एक वेरिएबल में सेव करें।

to integer block

फ़ाइल के दूसरे कॉलम में string प्रारूप में दिशा है। इसे तुरंत एक वेरिएबल में सेव किया जा सकता है।

Set variable block

फ़ाइल के तीसरे कॉलम में अर्धविराम द्वारा अलग किए गए वर्गों की एक सूची है। For Each Loop ब्लॉक इसे स्ट्रिंग प्रारूप में भी प्राप्त करता है। तो इसे तारों की एक सरणी में विभाजित करें। ऐसा करने के लिए, हम Split String ब्लॉक का उपयोग करते हैं। आइए इसमें कक्षाओं की सूची के साथ एक स्ट्रिंग पास करें और ";" सेट करें डिफ़ॉल्ट विभाजक के रूप में।

प्राप्त मूल्य को एक चर में सहेजें।

Split string block

प्रत्येक पंक्ति में सभी कॉलम मानों के माध्यम से एक लूप सेटअप समाप्त हो गया है।

हमें फ़ाइल में प्रत्येक पंक्ति से एक प्रविष्टि बनाने की आवश्यकता है। हम ऐसा करने के For Each Loop ब्लॉक और Make flight ब्लॉक में पूर्ण आउटपुट कनेक्टर का उपयोग करते हैं। आइए चक्र के दौरान प्राप्त सभी चर को इसमें स्थानांतरित करें।

completed for each loop connector

अब DB Create flight ब्लॉक का उपयोग करके Make flight में बनाए गए मॉडल को सेव करें।

DB create block

इस प्रकार, प्रत्येक पंक्ति को डेटाबेस में एक रिकॉर्ड के रूप में सहेजा जाता है।

अब हमें फ़ाइल को संसाधित करना समाप्त करना होगा। हम Read CSV file ब्लॉक में completed आउटपुट कनेक्टर का उपयोग करेंगे और इसे End ब्लॉक से कनेक्ट करेंगे।

completed read csv file

फ़ाइल से आयात करने के लिए BP समाप्त हो गया है।

Endpoint सेटअप

Endpoints टैब पर जाएं और एक नया एंडपॉइंट बनाएं।

Creating endpoint

POST पद्धति का चयन करें, URL पता सेट करें, Flight group का चयन करें, और निर्मित BP Import CSV चुनें।

फ़्रंटएंड पर एक बटन सेट करना

अब हमें फाइल अपलोड करने के लिए फ्रंट एंड पर एक बटन सेट करना होगा।

File picker तत्व को कैनवास पर खींचें।

और इसके लिए BP सेट करें:

onSelectfiles ट्रिगर का प्रयोग करें। यह ट्रिगर फ़ाइलों को एक सरणी के रूप में प्राप्त करता है, भले ही केवल एक फ़ाइल हो। इसलिए, हम सरणी से एक तत्व प्राप्त करने के लिए Array Element ब्लॉक का उपयोग करेंगे। आइए सरणी से पहला तत्व प्राप्त करने के लिए अनुक्रमणिका फ़ील्ड को 0 पर सेट करें।

अब Server request POST /_files/ ब्लॉक का उपयोग करके अपलोड की गई फ़ाइल को डेटाबेस में सहेजें।

Server request post file

विस्तृत Expand file ब्लॉक का उपयोग करके परिणामी फ़ाइल का विस्तार करें।

Expand file block

अब आईडी (जो इस मामले में एक फाइल है) को Server request POST /flight/csv/ ब्लॉक में पास करें।

Using custom endpoint on frontend

Was this article helpful?

AppMaster.io 101 क्रैश कोर्स

10 मॉड्यूल
2 सप्ताह

निश्चित नहीं हूं कि कहां से शुरुआत की जाए? शुरुआती लोगों के लिए हमारे क्रैश कोर्स के साथ आगे बढ़ें और ऐपमास्टर को ए से ज़ेड तक एक्सप्लोर करें।

कोर्स शुरू करें
Development it’s so easy with AppMaster!

और अधिक मदद की आवश्यकता है?

हमारे विशेषज्ञों की मदद से किसी भी मुद्दे को हल करें। समय बचाएं और अपने एप्लिकेशन बनाने पर ध्यान दें।

headphones

सहयोग टीम से संपर्क करें

हमें अपनी समस्या के बारे में बताएं, और हम आपको समाधान ढूंढेंगे।

message

सामुदायिक चैट

हमारे चैट में अन्य उपयोगकर्ताओं के साथ प्रश्नों पर चर्चा करें।

समुदाय में शामिल हों