CSV( Comma Separated Values )는 셀 값을 "," 기호로 구분하는 테이블 저장 형식입니다. "," 구분 기호 대신 다른 문자를 사용할 수 있습니다. 하지만 AppMaster 에는 쉼표가 필요합니다.

이 문자가 셀 내부에서 발생하지 않도록 하는 것이 중요합니다. 그렇지 않으면 파일 데이터를 잘못 읽게 됩니다.

먼저 CSV 파일의 정보가 저장될 데이터 모델을 만듭니다. 예를 들어 항공편에 대한 데이터 모델을 만들어 보겠습니다. 여기에는 다음 필드가 포함됩니다.

DB example

  • flight_no - 정수 형식의 항공편 번호.
  • 문자열 형식의 대상 ;
  • classes - 이 비행에 사용 가능한 비행 클래스, array[string] 형식.

가져올 파일의 예:

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 RowCompleted. 블록이 활성화되면 파일을 한 줄씩 읽고 Each Row 커넥터를 활성화하고 행 번호(1부터 시작하는 행 번호)와 행 열을 현재 모든 열의 문자열 배열로 전달합니다. 열.

Start 블록에서 Read CSV file 블록으로 파일을 전달합니다.

Read CSV block

다음으로 For Each Loop 블록을 추가합니다. Read CSV file 블록을 보내는 문자열 배열을 처리합니다.

For Each LoopRead CSV file, 와 마찬가지로 배열의 각 요소를 처리하고 각 요소에 대한 Loop Body 커넥터를 활성화합니다.

For Each Loop 블록의 인덱스 출력 필드는 배열 요소의 인덱스 번호입니다. 0부터 시작합니다.

모든 커넥터를 연결합니다.

For each loop block

다음 블록은 Switch 입니다. 도움을 받아 다른 필드의 값을 쓸 위치를 결정할 것입니다.

Switch 는 모든 유형의 입력을 수용할 수 있으며 이에 따라 다른 출력 커넥터를 활성화할 수 있습니다. 입력 값이 생성된 커넥터와 일치하지 않으면 Default 커넥터가 활성화됩니다.

CSV 파일에는 세 개의 열이 있습니다. 즉, 항상 동일한 순서로 각 행 열 배열에 세 개의 값이 저장됩니다.

  1. 숫자;
  2. 방향;
  3. 클래스.

따라서 Switch 블록 0, 1, 2에 3개의 출력 커넥터를 만들고 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

이제 ID (이 경우 파일)를 Server request POST /flight/csv/ 블록에 전달합니다.

Using custom endpoint on frontend

Was this article helpful?

앱마스터.io 101 단기 특강

10 모듈
2 주

어디서부터 시작해야 할지 모르겠다고요? 초보자를 위한 단기 집중 과정을 시작하고 AppMaster를 A부터 Z까지 살펴보세요.

코스 시작
Development it’s so easy with AppMaster!

도움이 더 필요하세요?

전문가의 도움으로 모든 문제를 해결하십시오. 시간을 절약하고 애플리케이션 구축에 집중하십시오.

headphones

연락처 지원

문제에 대해 알려주시면 해결책을 찾아드리겠습니다.

message

커뮤니티 채팅

채팅에서 다른 사용자와 질문에 대해 토론하십시오.

커뮤니티 가입