第一回【python】【業務効率化】【ファイル統合】複数のExcel(エクセル)ファイルを自動化で1つのファイルにしたい -1-
- 2020.10.20
- python
業務効率化のため特定のフォーマットで出力された複数のエクセルファイルをpythonで自動的に1個にまとめることを目標にします。まずは、エクセルファイルの操作の前に、統合前のエクセルファイルの名前を取得するところからはじめます。
業務効率化が目的なのでpythonを使わない人でも使えるように、ファイル名などの定数は「.py」のプログラムを触らなくても使えることを目指します。【注】この記事のみでは完結しません
【参考】
複数のExcel(エクセル)ファイルを自動化で1つのファイルにしたい 1
→統合前のエクセルファイルの名前を取得
複数のExcel(エクセル)ファイルを自動化で1つのファイルにしたい 2
→エクセルデータの読み込み
複数のExcel(エクセル)ファイルを自動化で1つのファイルにしたい 3
→X軸データの重複削除
複数のExcel(エクセル)ファイルを自動化で1つのファイルにしたい 4
→データ加工と保存(一通り終了)
サンプルプログラム
# -*- coding: utf-8 -*-
import os
import sys
import codecs
from os import path
##自作モジュールのインポート##
m_path = path.join(path.dirname(__file__),"under")
sys.path.append(m_path)
import yomikomi
###f_name.txtの読み込み###
rf_name="f_name.txt"
read_path = path.join(path.dirname(__file__),rf_name)
read_file=yomikomi.d_yomikomi(read_path)
print(read_file)
###f_name.txtから3行目のみ抜き取る####
d_f_name=read_file[2]
x=d_f_name.find("\r\n")
d_f_name=d_f_name[0:x]
print(d_f_name)
#####################################
###統合するファイルの名前を取得####
full_d_f_path= path.join(path.dirname(__file__),d_f_name)
files = os.listdir(full_d_f_path)
print(files)
####################################
実行結果&解説
10行目で読み込んでいる自作モジュール「yomikomi」はこちらの記事を参照ください。17行目のprintの結果(Anaconda Promptの黒い画面で出力されいている最初のデータ)を見ていただくとわかりますが、f_name.txtを「read_file」にリストの形式で読み込んでいます。
19行目から24行目で「f_name.txt」の3行目に記載したファイル名を取り出します(ここでは「data」)。改行を意味する¥r¥n(小文字にしてください)が入るので21と22行目が必要なことに注意ください。
24行目でdataフォルダに入ったファイル名をリストで読み込んでいます。ここではブック.xlsx~ブック4.xlsxのファイル名が読み込まれていますが、ファイルの数が増減してもリストの長さが変わるだけなので問題ありません。
あとがき
今回はデータ統合する元のファイル名の取得からはじめました。最終的に作成したpythonのプログラムを触らなくてもメンテナンスできることを目指して作成してきます。最後にはプログラム全体をダウンロード可能にする予定です。
-
前の記事
【python】CSVファイルを保存したい 2020.10.19
-
次の記事
第二回【python】【業務効率化】【ファイル統合】複数のExcel(エクセル)ファイルを自動化で1つのファイルにしたい -2- 2020.10.21