轉換為 CSV
重要
Machine Learning 工作室 (傳統) 的支援將於 2024 年 8 月 31 日結束。 建議您在該日期之前轉換成 Azure Machine Learning。
自 2021 年 12 月 1 日起,您將無法建立新的 Machine Learning 工作室 (傳統) 資源。 在 2024 年 8 月 31 日之前,您可以繼續使用現有的 Machine Learning 工作室 (傳統) 資源。
ML 工作室 (傳統) 文件即將淘汰,未來將不再更新。
將資料輸入轉換成逗號分隔值格式
類別: 資料格式轉換
模組概觀
本文說明如何使用 機器學習 Studio 中的[轉換為 CSV] 模組, (傳統) ,將資料集從 Azure ML轉換成可下載、匯出或與 R 或 Python 腳本模組共用的 CSV 格式。
關於 CSV 格式的詳細資訊
CSV 格式 (代表「逗點分隔值」) 是許多外部機器學習工具所使用的檔案格式。 雖然機器學習所使用的原生資料集格式是以 .NET 資料表為基礎,因此可由 .NET 程式庫讀取,但使用 R 或 Python 等開放原始碼語言時,CSV 是常見的交換格式。
即使您在 機器學習 Studio 中執行大部分的工作, (傳統) ,有時候您可能會發現將資料集轉換成 CSV 以在外部工具中使用。 例如:
- 下載 CSV 檔案,以 Excel 將其開啟,或將其匯入至關聯式資料庫。
- 將 CSV 檔案儲存至雲端儲存體,並從 Power BI 連線到其中,以建立視覺效果。
- 使用 CSV 格式來準備要在 R 和 Python 中使用的資料。 只要以滑鼠右鍵按一下模組的輸出,即可產生直接從 Python 或 Jupyter Notebook 存取資料所需的程式碼。
當您將資料集轉換成 CSV 時,檔案會儲存在 Azure ML 工作區中。 您可以使用 Azure 儲存體公用程式直接開啟和使用檔案,或以滑鼠右鍵按一下模組輸出,並將 CSV 檔案下載到您的電腦,或在 R 或 Python 程式碼中使用。
如何設定轉換成 CSV
將 [轉換為 CSV ] 模組新增至您的實驗。 您可以在 Studio 中的 [資料格式轉換 ] 群組中找到此課程模組, (傳統) 。
將它連線至輸出資料集的任何模組。
執行實驗,或按一下 [轉換為 CSV ] 模組,然後按一下 [ 執行] 選取。
結果
按兩下 [轉換為 CSV] 的輸出,然後選取其中一個選項。
下載:立即開啟 CSV 格式的資料複本,您可以儲存至本機資料夾。 如果您未指定資料夾,則會套用預設檔案名,並將 CSV 檔案儲存在本機 下載 程式庫中。
如果您選取 [下載資料集],您必須指出是否要開啟資料集,或將其儲存至本機檔案。
如果您選取 [開啟],系統會使用預設與.CSV檔案相關聯的應用程式載入資料集:例如,Microsoft Excel。
如果您選取 [下載資料集],根據預設,檔案會以模組名稱加上代表工作區識別碼的 GUID 來儲存。 不過,您可以在下載期間選取 [ 另存新 檔] 選項,並變更檔案名或位置。
另存成資料集:將 CSV 檔案儲存回 Azure ML工作區作為個別資料集。
產生資料存取碼:Azure ML會產生兩組程式碼,讓您使用 Python 或使用 R 來存取資料。若要存取資料,請將程式碼片段複製到您的應用程式。
在新 Notebook 中開啟:會為您建立新的 Jupyter Notebook,並使用您選擇的語言插入程式碼來讀取工作區中的資料:Python 2、Python 3 或 R 與 Microsoft R Open。
例如,如果您選擇 R 選項,則會提供範例 R 程式碼,以將 CSV 檔案載入資料框架,並使用 函式顯示前幾個資料列
head
。
技術說明
本節包含實作詳細資料、提示和常見問題集的解答。
CSV 格式的需求
CSV 檔案格式是許多機器學習架構所支援的熱門格式。 格式以各種方式稱為「逗號分隔值」或「字元分隔值」。
CSV 檔案會以純文字形式儲存表格式資料,包括數字和文字。 CSV 檔案包含任意數目的記錄,以某種分行符號隔開 每個記錄都包含欄位,並以常值逗號分隔。 在某些區域中,分隔符號可能是分號。
一般而言,所有記錄都有相同的欄位數目,而遺漏的值會以 Null 或空字串表示。
提示
您可以輕鬆地將資料從 Excel、Access 或關係資料庫匯出至 CSV 檔案,以用於機器學習。 雖然檔案名通常具有.CSV副檔名,但如果您想要將資料匯入為 CSV,機器學習不需要有此副檔名。 您可以將 XLSX、TXT 和其他檔案匯入為 CSV。 不過,檔案中的欄位必須如上一節所述格式化,而且檔案必須使用 UTF-8 編碼。
常見問題
本節說明一些已知問題、常見問題,以及 轉換為 CSV 模組的特定因應措施。
標頭必須是單一資料列
機器學習中使用的 CSV 檔案格式支援單一標頭資料列。 您無法插入多行標頭。
匯入但不支援匯出的自訂分隔符號
[轉換為 CSV] 模組不支援產生替代資料行分隔符號,例如分號 (;) ,這通常用於歐洲。
不過,當您從外部儲存體中的 CSV 檔案匯入資料時,您可以指定替代分隔符號。 在 [ 匯入資料 ] 模組中,選取 [具有編碼方式的 CSV ] 選項,然後挑選支援的編碼方式。
包含逗號之字串資料的資料行分隔不正確
在文字處理中,每個字元幾乎都可以指定為數據行分隔符號, (索引標籤、空格、逗號等) 也可以在文字欄位中隨機找到。 從 CSV 匯入文字一律需要注意,以避免將文字分隔到不必要的新資料行。
當您嘗試匯出包含逗號的字串資料行時,也可能遇到問題。 機器學習不支援這類資料的任何特殊處理或特殊轉譯,例如以引號括住字串。 此外,您無法在逗號之前使用逸出字元,以確保以常值字元處理逗號。
因此,系統會針對字串欄位中遇到的每個逗號,在輸出檔中建立新的欄位。 若要避免這個問題,有數個因應措施:
需要 UTF-8 編碼
[轉換為 CSV] 模組僅支援 UTF-8 字元編碼。 如果您需要使用不同的編碼方式匯出資料,您可以嘗試使用 執行 R 腳本 或 執行 Python 腳本 模組來產生自訂輸出。
資料集沒有資料行名稱
如果您要匯出至 CSV 檔案的資料集沒有資料行名稱,建議您先使用 [編輯中繼資料 ] 新增資料行名稱,再轉換它。 您無法在轉換或匯出程式中加入資料行名稱。
SYLK:檔案格式無效
如果您轉換成 CSV 的資料集第一個資料行具有名稱識別碼,當您嘗試在 Excel 中開啟檔案時,可能會發生下列錯誤:
「SYLK:檔案格式無效。」
若要避免此錯誤,您必須重新命名資料行。
我需要從 CSV 匯入的協助
若要匯入,請勿使用 匯出至 CSV 模組。 請改用匯入 資料 模組。
如需從 CSV 匯入的一般資訊,請參閱下列資源:
- 如何從各種資料來源將定型資料匯入 Machine Learning 工作室 (傳統)
- AzureML 實驗和資料互動:示範各種資料來源,以及如何在 Studio (傳統) 中使用它們。
預期的輸入
名稱 | 類型 | 描述 |
---|---|---|
資料集 | 資料表 | 輸入資料集 |
輸出
名稱 | 類型 | 描述 |
---|---|---|
結果資料集 | GenericCsv | 輸出資料集 |