2019年5月21日火曜日

Dockerでpython3.7とopenpyxlをインストールしたコンテナを作成する

openpyxlを使用して、エクセルファイルの読み取りや生成・編集などを行うことができます。
以下のコマンドとDockerfileを使用してpython3.7とopenpyxlがインストールされたイメージを作成する事ができます。
docker build -t openpyxl:1.0 .

Dockerfile
FROM python:3.7-alpine3.9
RUN apk --no-cache add libstdc++ \
  && apk --no-cache --virtual pydeps add gcc \
    g++ \
    python3-dev \
    musl-dev \
    cython \
  && pip install openpyxl \
  && apk del --purge pydeps
CMD ["/bin/sh"]

適当なエクセルファイルtest1.xlsxを準備して、以下のコマンドでサンプルコードを実行してエクセルファイルの内容にアクセスできます。
docker run -v `pwd`:/tmp --rm -it openpyxl:1.0 /usr/local/bin/python3 /tmp/test.py

test.py
import openpyxl

wb = openpyxl.load_workbook('/tmp/test1.xlsx')
print([[cell.value for cell in row] for row in wb['Sheet1']['A1:C5']])

0 件のコメント:

コメントを投稿