一尘不染

如何使用python pandas从Docker容器访问CSV文件(位于pc hdd中)?

docker

我想实现一种机器学习算法,该算法可以使用PySEAL库对同态数据进行操作。PySEAL库作为docker容器发布,带有一个“
examples.py”文件,其中显示了一些同态加密示例。我想编辑“ examples.py”文件以实现ML算法。我试图以这种方式导入CSV文件-

dataset = pd.read_csv ('Dataset.csv')

我已经成功导入了熊猫图书馆。我尝试了许多导入CSV文件的方法,但均失败了。如何导入?

我是Docker的新手。详细的过程将非常有帮助。


阅读 415

收藏
2020-06-17

共1个答案

一尘不染

您可以通过Docker构建过程(假设您是创建映像的人)或通过容器运行时将被其访问的卷映射来完成此操作。

在内部使用Dataset.csv构建源

为了通过构建进行访问,您可以执行Docker Copy命令以在容器的工作空间中获取文件

FROM 3.7

COPY /Dataset.csv /app/Dataset.csv
...

然后,您可以使用pandas.read_csv()函数通过/app/Dataset.csv从容器直接访问文件,例如-

data=pandas.read_csv('/app/Dataset.csv')

Dataset.csv的映射卷共享

如果您无法直接控制源图像的创建,或者不希望将数据集与容器打包在一起(根据使用情况,这可能是最佳做法)。您可以在启动容器时通过卷映射共享它:

dataset = pd.read_csv ('app/Dataset.csv')

假设您的Dataset.csv位于my / user / dir / Dataset.csv中

从CLI:

docker run -v my/user/dir:app my-python-container

后一种解决方案的好处是您可以继续在主机上编辑文件“ Dataset.csv”,该文件将反映您所做的更改,或者将发生python进程。

2020-06-17