이 Excel 파일을 하나의 행으로만 변환하지 않으려면 어떻게 해야 합니까?

이 Excel 파일을 하나의 행으로만 변환하지 않으려면 어떻게 해야 합니까?

아래 그림과 같은 Excel 파일이 있으며 다운로드할 수 있습니다.여기. 필요한 것은 Item(B열) 아래의 변수와 G열의 값을 추출하는 것입니다. 처음에는 엑셀 파일을 쉼표로 구분된 .csv 파일로 저장하려고 했는데, 행 개수를 확인해보니 Mac OS X 터미널에서는 CSV 파일이 단 하나의 행이라고 알려줍니다.

$ wc -l Layout.csv
0 Layout.csv

왜 이런 일이 일어날 수 있는지 아십니까?

엑셀 파일

다음은 텍스트 편집기에서 열린 CSV 파일로, 여러 줄이 있음을 보여줍니다.

csv 버전의 파일

해당 파일을 다운로드하시면 됩니다여기.

답변1

CSV 출력을 확인한 후 문제는 분명해졌습니다. Excel에 CR 줄 끝을 사용하도록 지시한 것입니다. 아마도 CR 줄 끝이 "Macintosh" 스타일이라는 것을 알려주었기 때문일 것입니다. 그것은 매우 오래된 정보이며 현재 10년 넘게 사실이 아닙니다.

있다세 가지 주요 줄 끝 스타일:

  1. LF: Unix 및 모든 주요 파생 제품에서 사용되는 스타일입니다.포함맥 OS X.

  2. CR: "클래식" Mac OS가 선택한 스타일로, 2001년 Apple이 Mac OS X로 전환하면서 포기했습니다. 클래식 Mac OS는 이 스타일을 사용하는 유일한 인기 OS이므로 실제로는 더 이상 볼 수 없습니다. 귀하가 연결한 CSV 파일은 이러한 드문 예 중 하나입니다.

  3. CR+LF: DOS/Windows 스타일의 줄 끝입니다. 기술적으로 이 스타일은 ASCII의 역사에 더 가깝기 때문에 "더 정확"하지만 Microsoft 세계 외부에서는 흔히 볼 수 없습니다.

이 문제를 해결하는 가장 좋은 방법은 Excel에서 OS X의 기본 형식인 LF 줄 끝을 사용하도록 하는 것입니다. 이는 wc다른 명령줄 Unix 도구를 행복하게 만듭니다. 그러나 이는 이 포럼의 범위를 벗어납니다. (노력하다슈퍼유저정말로 혼자서 해결할 수 없다면.)

이를 해결하는 주제별 Unix 명령줄 방법은 다음과 같습니다.

$ tr '\r' '\n' < Layout.csv > Layout-LF.csv

(이것은 사람들이 제안하는 것만큼 다양한 해결책이 있는 문제 중 하나입니다.)

관련 정보