我怎麼能轉換這個Excel文件,使其不只是一行?

我怎麼能轉換這個Excel文件,使其不只是一行?

我有一個 Excel 文件,如下圖所示,可供下載這裡。我需要的是提取項目(B 列)下的變數和 G 列中的值。只有一行:

$ wc -l Layout.csv
0 Layout.csv

知道為什麼會出現這種情況嗎?

Excel文件

以下是在文字編輯器中開啟的 CSV 文件,顯示它有多行:

文件的 csv 版本

您可以下載該文件這裡

答案1

看到 CSV 輸出後,問題就清楚了:您告訴 Excel 使用 CR 行結尾,可能是因為它告訴您它們是「Macintosh」樣式。這是嚴重過時的信息,十多年來都不是事實。

三種主線結尾風格:

  1. LF:Unix 及其所有主要衍生版本所使用的樣式,包括Mac OS X。

  2. CR:「經典」Mac OS 選擇的風格,隨著2001 年遷移到Mac OS X,Apple 放棄了這種風格。沒有見過。您連結到的 CSV 檔案就是這些罕見的範例之一。

  3. CR+LF:DOS/Windows 風格的行結束符號。從技術上講,這種風格更符合 ASCII 的歷史,因此“更正確”,但在 Microsoft 世界之外並不常見。

解決此問題的最佳方法是讓 Excel 使用 LF 行結尾,這是 OS X 的本機形式,這將使wc其他命令列 Unix 工具滿意。但是,這超出了本論壇的範圍。 (嘗試超級用戶如果你真的無法自己解決。

解決這個問題的一個主題 Unix 命令列方法是:

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

(這是這類問題之一,有多少人提供不同的解決方案就有多少種。)

相關內容