이 Excel 파일을 한 줄 이상으로 변환하려면 어떻게 해야 합니까?

이 Excel 파일을 한 줄 이상으로 변환하려면 어떻게 해야 합니까?

아래와 같이 Excel 파일을 다운로드할 수 있습니다.여기. 필요한 것은 항목(B열) 아래의 변수와 G열의 값을 추출하는 것입니다. 먼저 Excel 파일을 쉼표로 구분된 .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 X를 위해 2001년 Apple에서 포기한 "클래식" Mac OS를 위한 스타일입니다. 클래식 Mac OS는 이 스타일을 사용하는 유일한 인기 운영 체제이므로 실제로는 더 이상 거의 볼 수 없습니다. 귀하가 연결한 CSV 파일은 이러한 드문 예 중 하나입니다.

  3. CR+LF: DOS/Windows 스타일 줄 종결자. 기술적으로 이 스타일은 역사적으로 ASCII와 더 일치하므로 "더 정확"하지만 Microsoft 세계 외부에서는 일반적이지 않습니다.

이 문제를 해결하는 가장 좋은 방법은 Excel에서 OS X의 기본 형식이고 wc다른 명령줄 Unix 도구를 만족시킬 LF 줄 끝을 사용하도록 하는 것입니다. 그러나 이는 이 포럼의 범위를 벗어납니다. (노력하다뿌리정말로 스스로 알아낼 수 없다면. )

이 문제를 해결하기 위한 국소 Unix 명령줄 방법은 다음과 같습니다.

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

(이것은 제안하는 사람들만큼 다양한 솔루션이 있는 질문 중 하나입니다.)

관련 정보