この Excel ファイルを 1 行だけにならないように変換するにはどうすればよいでしょうか?

この Excel ファイルを 1 行だけにならないように変換するにはどうすればよいでしょうか?

下の写真のようなExcelファイルがあり、ダウンロード可能です。ここ必要なのは、項目 (列 B) の下の変数と列 G の値を抽出することです。まず、Excel ファイルをコンマ区切りの .csv ファイルとして保存しようとしましたが、Mac OS X ターミナルで行数を確認すると、CSV ファイルは 1 行だけであることがわかります。

$ wc -l Layout.csv
0 Layout.csv

なぜそうなるのか、何か考えはありますか?

Excelファイル

以下はテキスト エディターで開かれた CSV ファイルです。複数の行があることがわかります。

ファイルの csv バージョン

そのファイルをダウンロードできますここ

答え1

CSV 出力を見ると、問題は明らかです。Excel に CR 行末を使用するように指示したのは、おそらくそれが「Macintosh」スタイルであると通知されたためでしょう。これは非常に古い情報であり、10 年以上も前から真実ではありません。

がある3つの主要な行末スタイル:

  1. LF: Unixとその主要な派生製品で使用されるスタイル。含むMac OS X の場合。

  2. CR: 「クラシック」Mac OS が選択したスタイルですが、2001 年に Apple が Mac OS X に移行した際に廃止されました。クラシック Mac OS は、このスタイルを使用した唯一の一般的な OS であるため、実際にはほとんど見られなくなりました。リンクされている CSV ファイルは、これらのまれな例の 1 つです。

  3. CR+LF: DOS/Windows スタイルの行末。技術的には、このスタイルは ASCII の歴史に忠実であり、したがって「より正確」ですが、Microsoft の世界以外ではあまり見られません。

これを修正する最善の方法は、Excel で LF 行末を使用するようにすることです。これは OS X のネイティブ形式であり、wc他のコマンドライン Unix ツールでも問題なく機能します。ただし、これはこのフォーラムの範囲外です。(スーパーユーザー本当に自分で解決できない場合は。

これを修正するための Unix コマンドラインの方法は次のとおりです。

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

(これは、提案する人の数と同じくらい多くの異なる解決策がある種類の問題の 1 つです。)

関連情報