2017-09-21 4 views
0

csv 파일에서 데이터의 일부를 읽고 다음 패턴으로 텍스트 파일에 쓰는 tcl을 작성하는 데 도움이 필요합니다.Tcl을 사용하여 파일을 작성하는 방법

NAME : FROM= -100 -346 -249 -125 TO= -346 -249 -125 100 COLOR= COLOR1 COLOR2 COLOR3 COLOR4

NAME은 Tcl의 자체 색 하드 배열 될 수 CSV 파일과

COLOR 정보로부터 입수해온되어야로부터 정보

고정 줄 ​​것이다.

아래의 csv 데이터에서 MIN 아래의 첫 번째 값 (-100)은 텍스트 파일의 FROM에서 첫 번째 값 (-100)이됩니다. Excel MAX 열의 마지막 값 (100)은 텍스트 파일 TO 열의 마지막 값 (100)이됩니다. Excel의 VALUE 열 아래 값은 반올림되어 표시된 패턴 당 TO 및 FROM으로 사용됩니다.

 
Data VALUE 
100 -345.8756 
200 -249.3654 
300 -125.3554 
COUNT MIN MAX 
1 -100 -98 
93 84 86 
98 94 96 
99 96 98 
100 98 100 

enter image description here

+0

어떤 도움이 필요합니까? 지금까지 뭐 해봤 어? –

+0

많은 진전이 없었습니다. 나는 cvs에서 데이터를 읽으려고했지만 정확한 행이나 열 데이터를 텍스트로 가져올 수는 없었다. – NewCoder

+0

글쎄, Tcllib에있는'csv' 패키지는 파일을 읽을 수 있지만, 하나의 테이블에 2 개의 테이블이 있어도 여전히 처리가 필요합니다. (그러지 마!) –

답변

0

일부 포인터 :

  • reading lines from a file
  • 사용 set fields [regexp -inline -all {\S+} $line]는 부울 몇을 유지해야 임의의 공백
  • 로 구분 된 단어로 라인을 분할하기 상태 머신으로 플래그를 지정하여 현재 행으로 수행 할 작업을 결정합니다 (값 또는
  • 사용 [expr {round([lindex $fields end])}]) 최소/최대 찾고은 값을 반올림 : 그건 당신이 시작 얻는 경우에

https://tcl.tk/man/tcl8.6/TclCmd/expr.htm#M22 참조하십시오.