今回で3度目のPython挑戦。
見本や教材があったので何とかなったが、今回は頼りにするのがこの2文。
Pythonでは、目的ごとに便利な機能がまとめられたライブラリを使い、簡単にプログラムを開発できます。
「openpyxl」というライブラリを使うことで、Excel操作の自動化を簡単に実現することができます。
まとめられているのか→まだ見てないからわからない???
簡単に・・・開発できます。→ほんとに???(実際にはパス指定するに4時間も躓いた)
Excelに話を移しますが、
最近のエクセルを見ていると自動化タブには「スクリプトツール」があり、
開発タブには「マクロ」
数式タブには「pythonの挿入」が入り
変化に富んでいます。
以前のような「マクロ1択」ではなくなってきています。
時代は変わります。
話をPythonに戻して
とにかく上記2文
Pythonでは、目的ごとに便利な機能がまとめられたライブラリを使い、簡単にプログラムを開発できます。
「openpyxl」というライブラリを使うことで、Excel操作の自動化を簡単に実現することができます。
の真偽も含めて実施していきたいと思います。
信頼できるQiita情報から
# import libraries
import os
import pandas as pd
from glob import glob
# Configure Folder path
mybooks = glob(r"Z:\90_システム\400.アカウント\430.beat-box\432.ファイルの保存\.xls*",recursive=True)
df = []
for mybook in mybooks:
df.append([mybook,os.path.basename(mybook)])
# Exchange ListObject to Dataframe
df = pd.DataFrame(df)
# Dump to ExcelFile
outputFilename = "filename.xlsx"
outputFolder = r"filepath"
outputFileFullpath = outputFolder + "\\" + outputFilename
df.to_excel(outputFileFullpath,'List')
print(
"ファイルを出力が終了しました。 \n\n\n" +
"ファイル出力場所: " + outputFolder + "\n" +
"ファイル名: " + outputFilename
)
をコピペ
でもファイルもできる様子もなければ、pythonのプログラム作成の画面がでて、実行されるもない。なんだ???
どうやら実行はしているのですが、エラメッセージも何も出ないのでやりようがない。
2時間経過
ということで、何らかのコードエディタ上で動かさないといけないと思い、
コマンドプロンプト内で動かしているサイトを見つけたので
やってみる。
参考は以下
https://atmarkit.itmedia.co.jp/ait/articles/2310/03/news016.html
[解決!Python]globモジュールを使って特定のパターンにマッチするパス名を取得するには]
import glob
glob.glob(pathname, *, recursive=False)
C:\Users\maedat>python "C:\Users\maedat\OneDrive - ●●●●株式会社\デスクトップ\import glob.py"
File "C:\Users\maedat\OneDrive - ●●●●株式会社\デスクトップ\import glob.py", line 3
print(glob.glob(\\●●●●\user\PLANT\90_システム\400.アカウント\430.beat-box\432.ファイルの保存, *, recursive=False)
ここには表現されていないが、glob.glob(\ の2つの\に小さな三角形がついて赤くなっています)
こんな感じ
”(ダブルコーテーション)をつけたり、消したり¥を1つにしてみたり、何度か組み合わせを考えても無理で、全く区切りの記号を付けずにしてみたりなどして試したが、やはりだめでした。
3時間半経過
これは何かあると思い調べてみると
pythonで、シングルクォート(’)やダブルクォート(“)の前に「r」もしくは「R」が付けられている場合があります。
この「r」は、「raw文字列」を示すものです。(raw文字列)
raw文字列で指定された文字列リテラルでは、円記号(¥)もしくはバックスラッシュ(\)でもエスケープシーケンスとして扱われません。
教養プログラミング
https://schole-otium.com/programming/python-raw-string/
まずは 文字列リテラルから
文字は「あ」とか「い」の1つの文字をいい
文字列は複数の文字を集めたものをいう
記号としての文字と
言葉としての文字がある。
print "これは文字列です\nこれは2行目です"
このときの「\n」がエスケープシーケンスです。
「\n」をコンピュータさんは「改行」だと判断します。
普通の文字の組み合わせですが、特殊な文字だと読み替えてくれるのです。
ここまで来るまでに4時間かかりました。((´;ω;`)ウゥゥ泣く)
でもうまくいった
import glob
root_path = r"C:\Program Files\Blender Foundation\Blender 3.6\*"
items = glob.glob(root_path)
print("\n".join(items))
KM ENV-TA BLOG
https://kaku-env.github.io/articles/2024_02/directory_analysis/02_glob.html
C:\Users\maedat>python "C:\Users\maedat\OneDrive - ●まr株式会社\デスクトップ\import glob.py"
■\user\PLANT\90_システム\400.アカウント\430.beat-box\432.ファイルの保存\format※氏 名(保存フォルダ)
■\user\PLANT\90_システム\400.アカウント\430.beat-box\432.ファイルの保存\----
■\user\PLANT\90_システム\400.アカウント\430.beat-box\432.ファイルの保存\----
■\user\PLANT\90_システム\400.アカウント\430.beat-box\432.ファイルの保存\●● ●● 回×接×
■\user\PLANT\90_システム\400.アカウント\430.beat-box\432.ファイルの保存\●● ●●_
■\user\PLANT\90_システム\400.アカウント\430.beat-box\432.ファイルの保存\●● ●●_
■\user\PLANT\90_システム\400.アカウント\430.beat-box\432.ファイルの保存\予備機
■\user\PLANT\90_システム\400.アカウント\430.beat-box\432.ファイルの保存\●● ●●_ 回×接○
■\user\PLANT\90_システム\400.アカウント\430.beat-box\432.ファイルの保存\●● ●●
■\user\PLANT\90_システム\400.アカウント\430.beat-box\432.ファイルの保存\●● ●●_ 回×接○
■\user\PLANT\90_システム\400.アカウント\430.beat-box\432.ファイルの保存\●● ●●
■\user\PLANT\90_システム\400.アカウント\430.beat-box\432.ファイルの保存\●● ●●_
■\user\PLANT\90_システム\400.アカウント\430.beat-box\432.ファイルの保存\●● ●●_ 回×接○
■\user\PLANT\90_システム\400.アカウント\430.beat-box\432.ファイルの保存\●● ●●_
■\user\PLANT\90_システム\400.アカウント\430.beat-box\432.ファイルの保存\●● ●●_ 回×接○
■\user\PLANT\90_システム\400.アカウント\430.beat-box\432.ファイルの保存\●● ●●
■\user\PLANT\90_システム\400.アカウント\430.beat-box\432.ファイルの保存\●● ●● 回×接○
■\user\PLANT\90_システム\400.アカウント\430.beat-box\432.ファイルの保存\●● ●●_ 回×接○
■\user\PLANT\90_システム\400.アカウント\430.beat-box\432.ファイルの保存\●● ●●_
■\user\PLANT\90_システム\400.アカウント\430.beat-box\432.ファイルの保存\●● ●●_ 回○接×
■\user\PLANT\90_システム\400.アカウント\430.beat-box\432.ファイルの保存\●● ●●_
■\user\PLANT\90_システム\400.アカウント\430.beat-box\432.ファイルの保存\●● ●●_ 回×接○
■\user\PLANT\90_システム\400.アカウント\430.beat-box\432.ファイルの保存\●● ●●
■\user\PLANT\90_システム\400.アカウント\430.beat-box\432.ファイルの保存\●● ●●_
■\user\PLANT\90_システム\400.アカウント\430.beat-box\432.ファイルの保存\●● ●●_ 回×接○
うまくいった
次はエクセルへの書き出し(次回へ)