在Azure ML Python脚本中读取多个CSV文件

时间:2017-07-12 07:25:55

标签: python csv azure azure-machine-learning-studio

我有4个csv文件是azure ML中python脚本的输入,但是widget只有2个输入数据帧,第三个输入zip文件。我试图将csv文件放在一个压缩文件夹中,并将其连接到脚本的第三个输入,但这也不起作用: Image of workspace

我想知道如何在python脚本中读取多个csv文件。

2 个答案:

答案 0 :(得分:1)

正如@MattR所说,你只需要将4个csv文件直接附加到zip文件theano_keras2.zip中,而不必将这些csv文件打包为附加的单独zip文件。然后,您可以在模块Execute Python Script中使用这些csv文件,即csv文件路径相对于theano_keras2.zip目录的根目录。

希望它有所帮助。

答案 1 :(得分:1)

以下是其他人已经概述的方法的更多细节。尝试替换当前在" Execute Python Script"中的代码。模块包含以下内容:

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文件的完整文件路径,请编辑您的Execute Python Script模块的代码以加载它们,例如:

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)

希望有所帮助!