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

时间:2019-07-11 15:00:07

标签: python pandas docker docker-image seal

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

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

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

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

1 个答案:

答案 0 :(得分: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进程。