我从我的 azure datastorage 下载了一个数据文件,对其进行了预处理,又想将处理后的文件作为最终的 csv 上传到数据存储中,我该怎么做呢?我尝试了下面的appraoch,但它给我一个目录错误。
datastore = ws.get_default_datastore()
datastore_paths_train = [(datastore, 'X.csv')]
traindata = Dataset.Tabular.from_delimited_files(path=datastore_paths_train)
train = traindata.to_pandas_dataframe()
#preprocessing the data
X, y = preprocess_data(train)
#splitting the data
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=0)
#uploading data to datastore
print('Uploading data to datastore')
outputs_folder = './Scaling_data'
os.makedirs(outputs_folder, exist_ok=True)
datastore.upload(X_train, outputs_folder)
我如何让我的 "X_train "成为一个目录, 我试着把它变成一个Path对象,但也没有用. 我可能在这里错了,如果有任何其他的方法上传csv到datastore,我会很高兴学习。
下面的 datastore.upload
方法显示你需要指定上传的源文件目录。参见 此处 了解更多详情。
upload(src_dir, target_path=None, overwrite=False, show_progress=True)
所以你需要保存数据帧 X_train
到本地文件。见下面的例子。
outputs_folder = "./Scaling_data"
# create local directory if not exist
if not os.path.exists(outputs_folder):
os.mkdir(outputs_folder)
local_path = './Scaling_data/prepared.csv'
# save dataframe X_train to local file './Scaling_data/prepared.csv'
X_train.to_csv(local_path)
# upload the local file from src_dir to the target_path in datastore
datastore.upload(src_dir=outputs_folder, target_path=outputs_folder)
你也可以查看 本例.