2017-07-12 94 views
1

我有4個csv文件輸入到azure ML中的python腳本,但該小部件只有2個輸入用於數據框,第三個用於輸入zip文件。我試圖把CSV文件放在一個壓縮文件夾,並將其連接到該腳本的第三個輸入,但也沒有工作: Image of workspace在Azure中讀取多個CSV文件ML Python腳本

我想知道如何在python腳本讀取多個CSV文件。

+0

會將所有csv文件添加到一個選項中?這可以用Python輕鬆完成。排序預處理的事情 – MattR

回答

1

下面是其他人在上面概述的方法的一些更多細節。嘗試用以下代碼替換當前「執行Python腳本」模塊中的代碼:

import pandas as pd 
import os 
def azureml_main(dataframe1=None, dataframe2=None): 
    print(os.listdir('.')) 
    return(pd.DataFrame([])) 

運行實驗後,單擊模塊。現在在右側欄中應該有一個「查看輸出日誌」鏈接。我得到類似如下:

[Information]   Started in [C:\temp] 
[Information]   Running in [C:\temp] 
[Information]   Executing 4af67c05ba02417a980f6a16e84e61dc with inputs [] and generating outputs ['.maml.oport1'] 
[Information]   Extracting Script Bundle.zip to .\Script Bundle 
[Information]   File Name            Modified    Size 
[Information]   temp.csv          2016-05-06 13:16:56   52 
[Information]   [ READING ] 0:00:00 
[Information]   ['4af67c05ba02417a980f6a16e84e61dc.py', 'Script Bundle', 'Script Bundle.zip'] 

這告訴我,我的zip文件的內容已提取到C:\temp\Script Bundle文件夾。在我的情況下,zip文件只包含一個CSV文件,temp.csv:您的輸出可能有四個文件。你也可能壓縮了一個包含你的四個文件的文件夾,在這種情況下,文件路徑會更深一層。如有必要,您可以使用os.listdir()進一步探索您的目錄結構。

一旦你認爲你知道你的CSV文件的完整文件路徑,編輯您執行Python腳本模塊的代碼加載它們,例如:

import pandas as pd 
def azureml_main(dataframe1 = None, dataframe2 = None): 
    df = pd.read_csv('C:/temp/Script Bundle/temp.csv') 
    # ...load other files and merge into a single dataframe... 
    return(df) 

希望幫助!

1

正如@MattR所說,您只需要將4個csv文件直接追加到zip文件theano_keras2.zip中,而無需將這些csv文件打包爲一個單獨的zip文件來追加。然後,您可以在模塊Execute Python Script中使用這些csv文件,即csv文件路徑相對於theano_keras2.zip目錄的根目錄。

希望它有幫助。