CSV ( Comma Separated Values ), hücre değerlerinin “,” sembolü ile ayrıldığı bir tablo depolama formatıdır. “,” Ayırıcısı yerine başka bir karakter kullanılabilir. Bununla birlikte, AppMaster virgül gerektirir.

Bu karakterin hücre içinde oluşmamasını sağlamak önemlidir. Aksi takdirde dosya verileri yanlış okunacaktır.

İlk olarak, CSV dosyasındaki bilgilerin kaydedileceği bir veri modeli oluşturun. Örneğin, uçuşlar için bir veri modeli yapalım. Aşağıdaki alanları içerecektir:

DB example

  • flight_no - tamsayı biçiminde uçuş numarası;
  • dize biçiminde hedef ;
  • sınıflar - bu uçuş için mevcut uçuş sınıfı, dizi[string] formatı.

İçe aktarılacak bir dosya örneği:

File example

İlk sütun flight_no , ikinci sütun destination ve üçüncü sütun classes içerir.

Üçüncü sütunda değerler noktalı virgülle ayrılır.

Bir iş süreci oluşturun

Business Logic sekmesine gidin ve Create Business Process düğmesine tıklayın.

Creating BP

Bu iş sürecinin bir CSV dosyasına ihtiyacı var, bu nedenle dosya alanını Start ​​bloğuna ekleyin.

Creating variable

Ardından, Read CSV dosya bloğuna ihtiyacımız var.

Benzer şekilde, ilgili formatlar için Read XLS file ve Read XLSX file bloklarını kullanabilirsiniz.

Read CSV file bloğu nasıl çalışır:

İki çıkış konektörü vardır: Each Row ve Completed. Blok etkinleştirildiğinde, dosyayı satır satır okuyacak ve Each Row bağlayıcısını etkinleştirecek ve satır numarasını (1'den başlayarak Satır numarası) ve Satır Sütunlarını, geçerli tüm sütunların bir dize dizisini iletecektir. sıra.

Dosyayı Start ​​bloğundan Read CSV file bloğuna geçirin:

Read CSV block

Ardından, For Each Loop bloğunu ekleyin. Read CSV file bloğunu gönderen dize dizisini işleyecektir.

Each Loop için, Read CSV file, gibi, dizinin her bir öğesini işler ve her biri için Loop Body bağlayıcısını etkinleştirir.

For Each Loop bloğundaki dizin çıktı alanı, dizi öğesinin dizin numarasıdır. 0'dan başlar.

Tüm konektörleri bağlayın:

For each loop block

Bir sonraki blok Switch . Onun yardımıyla farklı alanlardan değerlerin nereye yazılacağını belirleyeceğiz.

Switch her tür girişi kabul edebilir ve buna bağlı olarak farklı çıkış konektörlerini etkinleştirebilir. Giriş değeri oluşturulan bağlayıcıların hiçbiriyle eşleşmezse Default bağlayıcı etkinleştirilir.

CSV dosyasının üç sütunu vardır; bu, her Satır sütun dizisinde her zaman aynı sırada depolanan üç değer olduğu anlamına gelir:

  1. sayı;
  2. yön;
  3. sınıflar.

Bu nedenle Switch bloğu 0, 1 ve 2'de üç çıkış konektörü oluşturacağız ve For Each Loop bloğundan dizini Switch bloğuna geçireceğiz.

switch block

Dosyadaki ilk sütun uçuş numarasını içerir. Ancak For Each Loop bloğu onu string biçiminde alır. Bu nedenle, kaydetmeden önce To integer bloğunu kullanarak onu bir tamsayıya dönüştürürüz. Bundan sonra, Set variable bloğunu kullanarak bir değişkene kaydedin.

to integer block

Dosyadaki ikinci sütun, yönü string biçiminde içerir. Hemen bir değişkene kaydedilebilir.

Set variable block

Dosyadaki üçüncü sütun, noktalı virgülle ayrılmış sınıfların bir listesini içerir. For Each Loop bloğu da onu string formatında alır. Bu yüzden onu bir dizi diziye bölün. Bunu yapmak için Split String bloğunu kullanıyoruz. İçine sınıfların listesini içeren bir dize geçirelim ve ";" olarak ayarlayalım. varsayılan ayırıcı olarak.

Alınan değeri bir değişkene kaydedin.

Split string block

Her satırdaki tüm sütun değerleri üzerinden bir döngü kurulumu tamamlandı.

Dosyadaki her satırdan bir girdi oluşturmamız gerekiyor. Bunu yapmak için For Each Loop bloğunda ve Make flight bloğunda tamamlanmış çıkış konektörünü kullanırız. Döngü sırasında alınan tüm değişkenleri ona aktaralım.

completed for each loop connector

Şimdi Make flight içinde oluşturulan modeli DB Create flight bloğunu kullanarak kaydedin.

DB create block

Böylece her satır veritabanına bir kayıt olarak kaydedilir.

Şimdi dosyayı işlemeyi bitirmemiz gerekiyor. completed çıktı konektörünü Read CSV file bloğunda kullanacağız ve onu End bloğuna bağlayacağız.

completed read csv file

Bir dosyadan içe aktarılacak BP tamamlandı.

Endpoint kurulumu

Endpoints sekmesine gidin ve yeni bir uç nokta oluşturun.

Creating endpoint

POST yöntemini seçin, URL adresini ayarlayın, Flight group ve oluşturulan BP Import CSV seçin.

Ön uçta bir düğme ayarlama

Şimdi dosyayı yüklemek için ön uçta bir düğme kurmamız gerekiyor.

File picker öğesini tuval üzerine sürükleyin.

Ve bunun için BP'yi kurun:

onSelectfiles tetikleyicisini kullanın. Bu tetikleyici, yalnızca bir dosya olsa bile dosyaları bir dizi olarak alır. Bu nedenle, diziden bir eleman almak için Array Element bloğunu kullanacağız. Diziden ilk öğeyi almak için dizin alanını 0 olarak ayarlayalım.

Şimdi Server request POST /_files/ bloğunu kullanarak yüklenen dosyayı veritabanına kaydedin.

Server request post file

Genişletilmiş Expand file bloğunu kullanarak elde edilen dosyayı genişletin.

Expand file block

Şimdi kimliği (bu durumda bir dosyadır) Server request POST /flight/csv/ bloğuna iletin.

Using custom endpoint on frontend

Was this article helpful?

AppMaster.io 101 Çarpışma Kursu

10 Modüller
2 haftalar

Nereden başlayacağınızdan emin değil misiniz? Yeni başlayanlar için hızlandırılmış kursumuzla başlayın ve AppMaster'ı A'dan Z'ye keşfedin.

Kursa Başlayın
Development it’s so easy with AppMaster!

Daha Fazla Yardıma mı ihtiyacınız var?

Herhangi bir sorunu uzmanlarımızın yardımıyla çözün. Zamandan tasarruf edin ve uygulamalarınızı oluşturmaya odaklanın.

headphones

İletişim desteği

Bize sorununuzu anlatın, size bir çözüm bulalım.

message

Topluluk Sohbeti

Soruları sohbetimizde diğer kullanıcılarla tartışın.

Topluluğa Katılın