CSV ( 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

এখন Make flight তৈরি করা মডেলটি DB Create 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/ID (যা এই ক্ষেত্রে একটি ফাইল) পাস করুন।

Using custom endpoint on frontend

Was this article helpful?

AppMaster.io 101 ক্র্যাশ কোর্স

10 মডিউল
2 সপ্তাহ

কোথা থেকে শুরু করবেন নিশ্চিত নন? নতুনদের জন্য আমাদের ক্র্যাশ কোর্সে যান এবং A থেকে Z পর্যন্ত AppMaster অন্বেষণ করুন।

কোর্স শুরু করুন
Development it’s so easy with AppMaster!

আরো সাহায্য প্রয়োজন?

আমাদের বিশেষজ্ঞদের সাহায্যে যেকোনো সমস্যা সমাধান করুন। সময় বাঁচান এবং আপনার অ্যাপ্লিকেশন তৈরিতে ফোকাস করুন।

headphones

যোগাযোগ সমর্থন

আপনার সমস্যা সম্পর্কে আমাদের বলুন, এবং আমরা আপনাকে একটি সমাধান খুঁজে বের করব।

message

সম্প্রদায় চ্যাট

আমাদের চ্যাটে অন্যান্য ব্যবহারকারীদের সাথে প্রশ্ন নিয়ে আলোচনা করুন।

কমিউনিটিতে যোগ দিন