Help us understand the problem. What is going on with this article?

PythonでSambaサーバーにあるExcelファイルを編集する

More than 1 year has passed since last update.

概要

PythonからSambaファイルサーバーに接続し、xlsxファイルを開き、編集、保存する。
なお、一時ファイルを作らずに作業を行う。

環境

  • Ubuntu Server 18.04.2 LTS
  • Python 3.6.7

追加パッケージ

  • openpyxl
  • pysmb

コード

import io
import platform

import openpyxl
import smb
from smb.SMBConnection import SMBConnection


conn = SMBConnection(
    "username",
    "password",
    platform.uname().node,
    "remote_name",
    use_ntlm_v2=True,
)
# ファイルサーバーに接続する
conn.connect("hostname", 139)

root = "/"
filepath = "/hoge.xlsx"

# 開く
with io.BytesIO() as inputfile:
    conn.retrieveFile(root, filepath, inputfile)
    workbook = openpyxl.load_workbook(inputfile)

# ここで編集操作など

# 保存
with io.BytesIO() as outputfile:
    workbook.save(outputfile)
    outputfile.seek(0)
    conn.storeFile(root, filepath, outputfile)
shirasublue
うなぎのぼりを夢見て
https://shirasu.blue
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away