목차
이 튜토리얼에서는 GAMS와 텍스트 슬롯 무료체험(일반적으로ASCII형식). GAMS 자체는 텍스트 슬롯 무료체험을 읽고 쓰는 데 사용할 수 있는 다양한 명령을 제공합니다. 이러한 명령이 제공하는 읽기 및 쓰기 기능은 제한되어 있으므로 GAMS ConnectCSV리더그리고CSVWriter에이전트는 더 복잡한 텍스트 슬롯 무료체험과 데이터를 교환할 수 있습니다. 게다가,GAMS 연결시설은 텍스트 슬롯 무료체험을 읽은 후 또는 쓰기 전에 데이터를 조작할 수 있는 다양한 에이전트를 제공하여 사용자가 GAMS에서 직접 데이터를 정리, 필터링 등을 할 수 있도록 합니다.
GAMS 명령
이 섹션에서는 간단한 GAMS 명령을 사용하여 텍스트 슬롯 무료체험을 읽고 쓰는 방법을 보여줍니다.$include, $ondelim/$offdelim, $echo그리고쓰기 기능 넣기.
컴슬롯 무료체험 중 텍스트 슬롯 무료체험 읽기
GAMS는 임의의 텍스트 슬롯 무료체험을 컴슬롯 무료체험러 입력 스트림에 삽입하여 컴슬롯 무료체험 시간 동안 읽을 수 있습니다. 그러면 슬롯 무료체험 내용이 GAMS 코드로 간주됩니다. 따라서 데이터 설명 내에 텍스트 슬롯 무료체험을 포함합니다(또한 참조데이터 항목: 매개변수, 스칼라 및 테이블)을 사용하면 GAMS 컴슬롯 무료체험러가 텍스트 슬롯 무료체험의 구문을 이해할 수 있는 한 텍스트 슬롯 무료체험의 데이터를 쉽게 포함할 수 있습니다. 이렇게 하면 모델 사양과 데이터 입력을 서로 다른 슬롯 무료체험로 분리할 수 있습니다.
그$include컴슬롯 무료체험 시간 명령은 입력 스트림의 현재 위치에 다른 슬롯 무료체험의 컨텍스트를 포함하도록 GAMS 컴슬롯 무료체험러에 지시하는 데 사용됩니다. 결과적으로 GAMS 코드는 다음과 같이 동작합니다.$include문은 포함할 슬롯 무료체험의 내용으로 대체되었습니다. 이는 별도의 텍스트 슬롯 무료체험에서 데이터를 포함할 때 매우 편리할 수 있습니다. 예를 들어, 테이블의 데이터가 실제로 다른 환경에서 오는 경우 다음을 대체할 수 있습니다.테이블include 문에 의한 문입니다. GAMS 테이블은 실제로 사람이 읽거나 쓰기에 매우 적합하지만 프로그램이 생성하기에는 다소 불편합니다(예: 숫자가 해당 헤더보다 대략 아래에 있어야 함). 따라서 매개변수가 자주 사용되며 긴 일련의할당 문생성됩니다. 예를 들어 모델의 다음 조각을 고려해보세요.trn스포츠:
테이블 d(i,j) '거리(천 마일)'
뉴욕 시카고 토피카
시애틀 2.5 1.7 1.8
샌디에고 2.5 1.8 1.4 ;
이 테이블의 데이터가 프로그램에서 오는 경우 기본 프로그램에서 말하는 것이 더 편리합니다:
매개변수 d(i,j) '거리(천 마일)';
$include data.inc
디스플레이 d;그리고 포함 슬롯 무료체험을 갖기 위해data.inc기계가 생성한 명령문을 포함합니다:
d("시애틀","뉴욕") = 2.5;
d("샌디에고","뉴욕") = 2.5;
d("시애틀","시카고") = 1.7;
d("샌디에고","시카고") = 1.8;
d("시애틀","토피카") = 1.8;
d("샌디에고","토피카") = 1.4;
사실 GAMS는 이러한 할당문을 상당히 편안하게 처리할 수 있습니다.
포함된 슬롯 무료체험은 GAMS 입력 스트림의 일부로 간주되므로 참고하세요.목록 슬롯 무료체험에 에코됨. 데이터 문과 함께 큰 텍스트 슬롯 무료체험을 포함할 때 이러한 슬롯 무료체험을 목록 슬롯 무료체험에 에코하는 것은 바람직하지 않을 수 있습니다. 목록 슬롯 무료체험에 대한 에코를 억제하려면,$include문은 다음으로 둘러싸여 있을 수 있습니다.$offlisting그리고$onlisting지침:
매개변수 d(i,j) '거리(천 마일)';
$offlisting
$include data.inc
$onlisting
디스플레이 d;목록 슬롯 무료체험에서 행 번호는 건너뜁니다.$offlisting발효 중입니다.
어떤 경우에는 다음을 사용하는 것이 더 편리할 수 있습니다.매개변수 초기화 구문. 즉, 기본 GAMS 슬롯 무료체험에 조각이 포함될 수 있습니다.
매개변수 d(i,j) '거리(천 마일)' /
$include data2.inc
/;
디스플레이 d;그리고 데이터 슬롯 무료체험에는 다음 레코드가 포함되어 있습니다:
시애틀.뉴욕 2.5
샌디에고.뉴욕 2.5
시애틀.시카고 1.7
샌디에고.시카고 1.8
시애틀 .topeka 1.8
샌디에고.topeka 1.4이 접근 방식은 GAMS에 더 효율적이므로 대규모 데이터 세트에 바람직합니다.
다음을 사용할 때테이블 명령문, 데이터는에서도 지정할 수 있습니다.CSV(쉼표로 구분된 값) 형식인 경우$ondelim명령이 내려졌습니다. 예를 들어 이 형식은 스프레드시트 프로그램에서 생성될 수 있습니다.
예를 들어, 모델의 다음 조각을 고려하십시오.trn스포츠:
테이블 d(i,j) '거리(천 마일)'
뉴욕 시카고 토피카
시애틀 2.5 1.7 1.8
샌디에고 2.5 1.8 1.4 ;
슬롯 무료체험data.csv이 테이블의 데이터를 CSV 형식으로 지정하는 내용은 다음과 같습니다.
,뉴욕,시카고,토피카 시애틀,2.5,1.7,1.8 샌디에이고,2.5,1.8,1.4
첫 번째 줄의 빈 첫 번째 요소에 주목하세요. 이는 위 표의 왼쪽 상단 공백에 해당합니다.
이제 이 슬롯 무료체험은 다음을 사용하여 GAMS에 직접 포함될 수 있습니다.$ondelim그리고$offdelim명령:
테이블 d(i,j) '거리(천 마일)'
$ondelim
$include data.csv
$offdelim
;
- 주의
- 그$ondelim명령은 다음의 사용만 활성화합니다.쉼표분리 기호로. 다른 구분 문자의 사용은 지원되지 않습니다. 다른 구분 기호가 있는 슬롯 무료체험의 경우 ConnectCSV리더에이전트는 데이터를 가져오는 데 사용되어야 합니다. 참조텍스트 슬롯 무료체험 읽기를 위한 GAMS Connect 튜토리얼.
CSV 슬롯 무료체험은 GAMS에 더 높은 차원의 데이터를 입력하는 데에도 사용할 수 있습니다. 예를 들어 3차원 테이블을 생각해 보세요.yieldtl모델에서터키:
테이블 생산량tl(l,cl,ty) '가축 생산량 시계열(두당 kg)'
1974년 1975년 1976년 1977년 1978년 1979년
양고기 10.60 11.42 10.60 9.38 8.97 6.93
양.우유 23.7 24.1 24.2 24.2 24.0 23.9
양털 1.3 1.3 1.3 1.3 1.3 1.3
양.가죽 0.5 0.6 0.6 0.5 0.6 0.4
염소.고기 6.39 7.31 8.68 7.31 6.39 6.85
염소.우유 37.7 38.1 38.2 38.2 38.3 37.8
염소털 0.6 0.6 0.6 0.6 0.6 0.6
염소.숨기기 0.2 0.3 0.3 0.3 0.2 0.3
앙고라.고기 1.77 1.77 2.66 2.21 1.77 1.77
앙고라.밀크 14.9 15.2 14.8 15.2 14.8 15.0
앙고라.울 1.6 1.6 1.6 1.6 1.6 1.4
앙고라.숨기기 0.1 0.1 0.1 0.1 0.1 0.1
소·고기 24.59 25.12 21.42 23.00 18.25 25.12
소·우유 210.0 208.1 219.8 213.8 214.8 217.5
소.숨기기 3.3 3.4 2.9 3.0 2.6 3.3
버팔로고기 43.73 45.42 40.61 37.21 32.20 32.68
버팔로우유 267.1 269.2 263.8 219.6 275.5 285.1
버팔로.하이드 4.1 3.4 3.0 2.4 2.5 2.6
가금류.고기 2.24 2.24 2.24 2.24 2.24 2.24
가금류.계란 62.4 62.2 64.2 78.3 76.4 73.3
;
이 매개변수에 대한 데이터가 다른 응용 프로그램(예: 관계형 데이터베이스)에 의해 준비된 경우 쉼표로 구분된 값 형식으로 작성하는 것이 더 편리할 수 있습니다. 예를 들어 슬롯 무료체험data.csv다음 콘텐츠를 가질 수 있습니다:
"양","고기","1974",10.60 "양", "고기", "1975",11.42 "양", "고기", "1976",10.60 "양", "고기", "1977",9.38 "양", "고기", "1978",8.97 "양", "고기", "1979",6.93 "양", "우유", "1974",23.70 "양", "우유", "1975", 24.10 "양", "우유", "1976", 24.20 "양", "우유", "1977", 24.20 ...
이러한 형식의 데이터를 GAMS 모델에 포함시키는 것은 다음을 사용하여 가능합니다.$ondelimfor더 높은 차원에 대한 매개변수 데이터. 따라서 GAMS 코드는 다음과 같습니다.
매개변수 Yieldtl(l,cl,ty) '가축 생산량 시계열(두당 kg)'
/
$ondelim
$include data.csv
$offdelim
/;
GAMS 컴슬롯 무료체험러 입력 스트림에 삽입할 수 없는 더 복잡한 데이터의 경우,CSV리더사용할 수 있습니다. 확인해 보세요.텍스트 슬롯 무료체험 읽기를 위한 GAMS Connect 튜토리얼.
컴슬롯 무료체험 중 텍스트 쓰기
명령어$echo, $onecho및$offecho컴슬롯 무료체험하는 동안 명명된 슬롯 무료체험에 텍스트를 보냅니다.$echo한 줄을 보내고 다음 구문을 사용하여 호출됩니다.
$echo '전송할 텍스트' > 외부슬롯 무료체험또는
$echo '전송할 텍스트' >> 외부슬롯 무료체험''>''를 사용하면 새 슬롯 무료체험이 생성되고 ''>>''는 기존 슬롯 무료체험에 추가됩니다.
여러 줄 메시지의 경우 다음 명령$onecho그리고$offecho사용할 수 있습니다. 예:
$onecho > 외부슬롯 무료체험
보낼 텍스트의 첫 번째 줄
보낼 텍스트의 2번째 줄
...
보낼 텍스트의 마지막 줄
$offecho
이러한 명령의 사용에 대한 일반적인 예는 다음과 같습니다.솔버 옵션 슬롯 무료체험.
또한,$log명령은 컴슬롯 무료체험 중에 로그 슬롯 무료체험에 메시지를 보내는 데 사용될 수 있습니다.
실행 중 텍스트 슬롯 무료체험 쓰기
그쓰기 기능 넣기사용자 정의된 텍스트 출력을 허용합니다. 이는 상당히 복잡하지만 강력하고 유연한 보고서 작성 기능입니다.
다음 GAMS 코드가 모델 끝에 추가되었다고 가정trn스포츠. GAMS에 모델 및 해결 상태를 결정 변수 수준과 함께 슬롯 무료체험에 기록하도록 지시합니다.결과.txt:
슬롯 무료체험 결과 / results.txt /;
결과를 넣으십시오.
"모델 상태"를 넣고, Transport.modelstat /;
"해석기 상태"를 넣고, Transport.solvestat /;
"목표"를 입력하세요. z.l /;
"배송"을 입력하세요 /;
루프((i,j),
i.tl, j.tl, x.l(i,j) /를 넣습니다.
);
닫아두다;
먼저, 슬롯 무료체험 객체결과는를 사용하여 선언됩니다.슬롯 무료체험문장. 슬롯 무료체험 문의 데이터는 슬롯 무료체험 이름을 지정합니다(결과.txt). 다음 라인결과 입력;다음 put 문에 대해 슬롯 무료체험이 다음과 같이 GAMS에 지시합니다.결과을 사용해야 합니다. 다음에서는모델 상태그리고해결 상태설명 텍스트와 함께 작성되었습니다. 이들모델 속성a에 의해 설정됨해결문. '/' 문자는 GAMS가 결과 슬롯 무료체험에 줄 바꿈(개행 문자)을 추가하도록 지시합니다. 다음으로 작성할 것은 몇 가지 변수 값입니다. 여기서 먼저레벨 값변수의z이 쓰여지고 그 뒤에 a가 옵니다.루프집합의 각 요소에 대해 기록합니다i그리고j요소의 이름(다음을 통해 액세스됨.tl 속성) 및 레벨 값x(i,j). 마지막으로,putclose;문은 GAMS에 현재 슬롯 무료체험을 닫도록 지시합니다. 이렇게 하면 캐시된 데이터가 슬롯 무료체험로 플러시됩니다.
출력은 다음과 같습니다:
모델 상태 1.00 솔버 상태 1.00 목표 153.67 배송 시애틀 뉴욕 50.00 시애틀 시카고 300.00 시애틀 토피카 0.00 샌디에고 뉴욕 275.00 샌디에고 시카고 0.00 샌디에고 토피카 275.00
이 양식은 다른 응용프로그램에서 읽기 어려울 수 있습니다. 예를 들어 일부 공백 문자는 구분 기호로 간주되는 반면 다른 문자는 실제로 문자열의 일부이기 때문입니다(예: "모델 상태"). 그러나,인쇄 제어 옵션 .pcput 쓰기 기능의 경우 쉼표로 구분된 값 슬롯 무료체험을 쓸 수 있습니다. 즉, 다음 줄을 추가하면 됩니다.results.pc = 5;, 즉:
슬롯 무료체험 결과 / results.txt /;
결과.pc = 5;
결과를 넣으십시오.
"모델 상태"를 넣고, Transport.modelstat /;
"해석기 상태"를 넣고, Transport.solvestat /;
"목표"를 입력하세요. z.l /;
"배송"을 입력하세요 /;
루프((i,j),
i.tl, j.tl, x.l(i,j) /를 넣습니다.
);
닫아두다;다음과 같은 출력을 얻습니다:
"모델 상태",1.00 "해석 상태",1.00 "목표",153.67 "배송" "시애틀", "뉴욕",50.00 "시애틀", "시카고",300.00 "시애틀", "토피카",0.00 "샌디에고","뉴욕",275.00 "샌디에고", "시카고",0.00 "샌디에고","토피카",275.00
동일한 차원의 여러 매개변수를 사용자 정의된 형식으로 슬롯 무료체험에 기록해야 하는 경우 put 문이 다소 반복될 수 있습니다. 예를 들어 변수의 수준 및 한계 값x및 매개변수c그리고d모델에서trn스포츠작성되어야 합니다. 이는 다음과 같이 쉽게 코딩할 수 있습니다.
슬롯 무료체험 결과 / results.txt /;
결과.pc = 5;
결과를 넣으십시오.
loop((i,j), put "거리", i.tl, j.tl, d(i,j) / );
loop((i,j), put "cost", i.tl, j.tl, c(i,j) / );
loop((i,j), put "levels", i.tl, j.tl, x.l(i,j) / );
loop((i,j), put "marginals", i.tl, j.tl, x.m(i,j) / );
닫아두다;
작성된 데이터(설명 텍스트, 세트 이름 등)에서 데이터(루프 및 put 문)를 작성하는 코드를 분리하는 방법은 다음을 사용하여 달성할 수 있습니다.$batinclude. 이 명령은 다음과 유사하게 작동합니다.$include문장(섹션 참조컴슬롯 무료체험 중 텍스트 슬롯 무료체험 읽기위), 그러나 추가 인수를 허용합니다(공백으로 구분). 슬롯 무료체험을 포함하는 동안 마커%1, %2등은 첫 번째, 두 번째 등의 인수 값으로 대체됩니다.
사용하여$batinclude, 위의 예는 다음과 같이 단순화될 수 있습니다.
슬롯 무료체험 결과 / results.txt /;
결과.pc = 5;
결과를 넣으십시오.
$batinclude put.inc 거리 i j d
$batinclude put.inc 비용 i j c
$batinclude put.inc 레벨 i j x.l
$batinclude put.inc 한계 i j x.m
닫아두다;슬롯 무료체험이 있는 곳put.inc실제 루프 및 put 문을 포함합니다:
loop((%2,%3), put "%1", %2.tl, %3.tl, %4(%2,%3) / );
마지막으로,Put_Utility 문이 참조되며, 이는 put 문에 느슨하게 연결되어 슬롯 무료체험 이름 등의 동적 생성을 허용합니다.
GAMS 연결
이 섹션에서는 Connect Agent를 사용하여 텍스트 슬롯 무료체험을 읽고 쓰는 방법을 보여줍니다.CSV리더그리고CSVWriter.
텍스트 슬롯 무료체험 읽기
모델의 코드 조각을 고려connect03(수정된 버전trn스포츠42530_42577
$onEcho > distance.csv
나,뉴욕,시카고,토피카
시애틀,2.5,1.7,1.8
샌디에이고,2.5,1.8,1.4
$offEcho
$onEcho > 용량.csv
나, 용량
시애틀, 350
샌디에이고,600
$offEcho
$onEcho > 수요.csv
j,수요
뉴욕, 325
시카고,300
토피카,275
$offEcho
i는 '통조림 공장', j는 '시장'으로 설정합니다.
매개변수 d(i<,j<) '거리(천 마일)'
a(i) '경우에 따라 식물 i의 용량'
b(j) '경우에 따라 시장 j의 수요';
$onEmbeddedCode 연결:
- CSV리더:
슬롯 무료체험: 거리.csv
이름: d
indexColumns: 1
valueColumns: "2:lastCol"
- CSV리더:
슬롯 무료체험: 용량.csv
이름: 에
indexColumns: 1
값열: 2
- CSV리더:
슬롯 무료체험: 수요.csv
이름: b
indexColumns: 1
값열: 2
- GAMS작성기:
기호: 모두
$offEmbeddedCode
[...]
이 예에서는 컴슬롯 무료체험 시간에 포함된 Connect 코드를 사용하여 다음을 사용하여 CSV 슬롯 무료체험에서 매개변수에 대한 데이터를 읽습니다.CSV리더에이전트. 에이전트가 매개변수를 생성합니다.d, a그리고bConnect 데이터베이스에 있습니다. 모든 매개변수는 다음을 사용하여 GAMS 데이터베이스에 직접 기록될 수 있습니다.GAMSWriter에이전트. GAMSWriter는 내장된 Connect 코드 외부에서 매개변수를 사용할 수 있도록 합니다. 세트에 유의하세요.i그리고j매개변수를 통해 암시적으로 정의됩니다.d. Embedded Connect 코드는 실행 시에도 사용할 수 있습니다. 다음 섹션의 예를 참조하세요.텍스트 슬롯 무료체험 쓰기. CSVReader는 다음과 같은 다양한 옵션을 제공합니다.decimalSeparator그리고fieldSeparator, 다양한 CSV 슬롯 무료체험 형식을 읽을 수 있습니다. 에이전트는 또한 다음을 사용하여 읽는 동안 데이터를 조작할 수 있습니다.색인 대체그리고valueSubstitutions.
텍스트 슬롯 무료체험 쓰기
모델의 코드 조각을 고려connect03(수정된 버전trn스포츠45098_45145
[...]
모델 운송 / 모두 /;
z를 최소화하는 lp를 사용하여 전송을 해결합니다.
임베디드코드 연결:
- GAMS리더:
기호:
- 이름 : x
- 프로젝션:
이름: x.l(i,j)
새로운 이름: x_level(i,j)
- CSV작성자:
슬롯 무료체험: 선적_수량.csv
이름: x_level
언스택: 참
endEmbeddedCode
여기서 실행 시간 내장 Connect 코드는 모델 결과를 CSV 슬롯 무료체험로 내보내는 데 사용됩니다. Connect 에이전트GAMS리더변수 가져오기xGAMS 데이터베이스에서 Connect 데이터베이스로.투영에이전트는 변수의 레벨 값만 포함하는 새 매개변수를 생성하는 데 사용됩니다.x. 최종 매개변수x_level그런 다음 다음을 사용하여 CSV 슬롯 무료체험에 기록됩니다.CSVWriter에이전트. 슬롯 무료체험배송_수량.csv다음 내용이 있습니다:
나,뉴욕,시카고,토피카 시애틀,50.0,300.0,0.0 샌디에고,275.0,0.0,275.0
CSVWriter는 다음과 같은 다양한 옵션을 제공합니다.decimalSeparator그리고fieldSeparator, 맞춤형 CSV 슬롯 무료체험을 작성할 수 있습니다. 위의 예에서는스택 해제마지막 차원을 사용하는 옵션x_level헤더 행으로.
GAMS 도구
이 섹션에서는 GAMS 도구를 사용하여 텍스트 슬롯 무료체험을 읽고 쓰는 방법을 보여줍니다.CSV읽기그리고CSV쓰기각각.
텍스트 슬롯 무료체험 읽기
모델의 코드 조각을 고려csv2gdx2(수정된 버전trn스포츠47314_47361
$onEcho > distance.csv
,뉴욕,시카고,토피카
시애틀,2.5,1.7,1.8
샌디에이고,2.5,1.8,1.4
$offEcho
$onEcho > 용량.csv
,용량
시애틀, 350
샌디에이고,600
$offEcho
$onEcho > 수요.csv
,수요
뉴욕, 325
시카고,300
토피카,275
$offEcho
i는 '통조림 공장', j는 '시장'으로 설정합니다.
매개변수 d(i,j) '거리(천 마일)';
$callTool csvread distance.csv id=d Dimids=i,j 인덱스=1 값=2..lastCol useHeader=y 추적=0
$ifE errorLevel<>0 $abort distance.csv를 읽는 데 문제가 있습니다!
매개변수
a(i) '경우에 따라 식물 i의 용량'
b(j) '경우에 따라 시장 j의 수요';
$callTool csvread 용량.csv id=a 색인=1 값=2 useHeader=y 추적=0
$ifE errorLevel<>0 $abort 용량.csv를 읽는 데 문제가 있습니다!
$callTool csvread Demand.csv id=b 색인=1 값=2 useHeader=y 추적=0
$ifE errorLevel<>0 $abort Demand.csv를 읽는 데 문제가 있습니다!
[...]
도구를 활용한 예시CSV읽기컴슬롯 무료체험 시간 동안 CSV 슬롯 무료체험에서 매개변수에 대한 데이터를 읽습니다. 이 도구는 CSV 데이터를 매개변수에 직접 기록합니다.d, a그리고b48533_48577i그리고j매개변수를 통해 정의됨d옵션 사용디미드. CSV읽기또한 다음을 사용하여 실행 시 사용할 수 있습니다.실행도구.
도구가 다음을 사용하기 때문에CSV리더백그라운드에서 데이터를 읽기 위해 다음과 같은 다양한 옵션을 제공합니다.decimalSep그리고fieldSep, 다양한 CSV 슬롯 무료체험 형식을 읽을 수 있습니다. 참조사용법49215_49340CSV리더가능한 대로색인 대체그리고값 대체CSV 데이터를 읽는 동안.
텍스트 슬롯 무료체험 쓰기
수정된 버전인 다음 코드 조각을 고려하십시오.trn스포츠GAMS 모델 라이브러리의 모델:
[...]
모델 운송 / 모두 /;
z를 최소화하는 lp를 사용하여 전송을 해결합니다.
* 큰따옴표로 묶인 헤더를 CSV 슬롯 무료체험에 작성합니다.
$echo '"통조림 공장","시장","케이스 내 선적 수량"' > quoted_x.csv
ExecuteTool.checkErrorLevel 'csvwrite id=x 헤더=N 슬롯 무료체험=x.csv';
* 헤더가 있는 기존 슬롯 무료체험에 데이터를 추가합니다.
'cat x.csv >> quoted_x.csv'를 실행합니다.
문제를 해결한 후trn스포츠모델, 큰따옴표로 묶인 헤더가 있는 CSV 슬롯 무료체험이 생성됩니다. 도구CSV쓰기그런 다음 실행 시간 동안 변수를 작성하는 데 사용됩니다.xGAMS 데이터베이스에서 중간 CSV 슬롯 무료체험로 직접x.csv. 참조사용법50815_50940quoted_x.csv그러면 다음 내용이 포함됩니다:
"통조림 공장","시장","케이스 내 선적 수량" "시애틀", "뉴욕",50.0 "시애틀", "시카고",300.0 "시애틀", "토피카",0.0 "샌디에이고","뉴욕",275.0 "샌디에고", "시카고",0.0 "샌디에고","토피카",275.0
보다 복잡한 데이터 처리를 위해서는 GAMS Connect 에이전트CSVWriter다음과 같은 다른 Connect 에이전트와 함께 사용할 수 있습니다.투영. 예시를 확인해 보세요.텍스트 슬롯 무료체험 작성CSVWriter를 사용합니다.