Python+LinuxでExcel・PDFをサーバー自動処理する方法

近年、業務効率化やデータ処理の自動化は企業にとって欠かせないスキルとなっています。特に、サーバー上でPythonを使ってExcelやPDFを自動処理できると、手作業を大幅に削減できます。本記事では、Linux環境でPythonを活用してExcel・PDFをサーバー自動処理する方法を解説します。


1. 前提条件

  • Linuxサーバー(Ubuntu/Debian系を想定)
  • Python 3.10以上
  • pipがインストール済み
  • 基本的なLinuxコマンド操作ができる

必要に応じて、以下のパッケージをインストールします。

sudo apt update
sudo apt install python3-pip python3-venv

2. PythonでExcelを自動処理する

PythonにはExcel操作用の便利なライブラリが複数あります。

(1) openpyxlによるExcel操作

openpyxlは、.xlsx形式のExcelファイルを読み書きできるライブラリです。

pip install openpyxl

例:Excelデータの読み込みと書き込み

import openpyxl

# Excelファイルを読み込む
wb = openpyxl.load_workbook('sample.xlsx')
ws = wb.active

# データの読み込み
for row in ws.iter_rows(values_only=True):
    print(row)

# データの書き込み
ws['A1'] = 'Python自動化'
wb.save('sample_output.xlsx')

(2) pandasを使った高度なデータ処理

pandasopenpyxlを組み合わせることで、大規模データの集計や分析も可能です。

pip install pandas openpyxl
import pandas as pd

df = pd.read_excel('sample.xlsx')
print(df.head())

# データ加工例
df['合計'] = df['数量'] * df['単価']
df.to_excel('processed.xlsx', index=False)

3. PythonでPDFを自動処理する

PDFファイルのテキスト抽出や分割・結合は、pdfplumberPyPDF2が便利です。

(1) pdfplumberでテキスト抽出

pip install pdfplumber
import pdfplumber

with pdfplumber.open('sample.pdf') as pdf:
    for page in pdf.pages:
        text = page.extract_text()
        print(text)

(2) PyPDF2でPDF操作

pip install PyPDF2
from PyPDF2 import PdfReader, PdfWriter

reader = PdfReader("sample.pdf")
writer = PdfWriter()

# 1ページ目だけ抽出
writer.add_page(reader.pages[0])
with open("output.pdf", "wb") as f:
    writer.write(f)

4. サーバーでの自動化(cronを活用)

Linuxでは、cronを使って定期的にPythonスクリプトを実行できます。

  1. crontabを編集
crontab -e
  1. 例:毎日午前3時にスクリプトを実行
0 3 * * * /usr/bin/python3 /home/user/scripts/auto_process.py

※Pythonスクリプトはフルパスで指定してください。


5. 注意点とベストプラクティス

  • Excel/PDFのパスは絶対パスで指定する
  • サーバーでGUI操作はできないため、ライブラリはCLI対応のものを使用
  • 大量データ処理の場合は、ログを残す
  • エラー処理(try/except)を入れると安定性が向上

6. まとめ

Python+Linuxを組み合わせることで、ExcelやPDFの自動処理が可能になります。cronで定期実行することで、手作業の削減や業務効率化を実現できます。中級エンジニア以上であれば、さらにpandasやPDFライブラリを活用した高度な自動化も可能です。

タイトルとURLをコピーしました