python script上では実行できるのですがデスクトップ上から起動できません。
また、一部だけ稼働しているためパスは通っていると思います。(ほかのpyファイルは実行出来たため)
for文の前と後はしっかり作動してくれています。
コマンドプロンプトで実行すると
New.xlsxの起動
print("start")
input("-------------finish----------------------------------------------")
この三つのみ起動します
ご教示お願い致します。
また、別件ですが、フォルダ内のエクセルの全シートを一か所にまとめたいのですが、シートを番号で指定しているため全シートでできず、名前から番号を取得しようとしたりいろいろ試みたのですが2週間ほど苦戦しておりますどなたかいい案はありますでしょうか。
以上、宜しくお願い致します。
python
1#以下コード 2 3import openpyxl 4import pandas as pd 5import seaborn as sns 6import datetime 7import glob 8import os 9import time 10import xlwings as xw 11names = xw.Book("C:\\Users\\太郎\\Desktop\\new\\New.xlsx") 12 13 14#時間 15 16riss = [] 17liss = [] 18deta = [] 19 20list = glob.glob('*.xlsx')#Excel抽出 21time.sleep(3) 22print("start") 23#繰り返し 24for file in list: 25 filer1 = xw.Book(os.path.abspath(file))#ファイルの絶対パス 26 time.sleep(2) 27 print("---------------------------------------------------------------") 28 print("ファイル名:",file)#ファイルの名前 29 riss.append(filer1)#リストに格納(不要) 30 wb = openpyxl.load_workbook(file)#ファイル読み込み 31 for ws in wb.worksheets: 32 create_title = ws.title + "_New" 33 # Nsheet = Neww.create_sheet(index=len(Neww.sheetnames), title=create_title) 34 print("シート名:",create_title) 35 filer1.sheets[0].copy(names.sheets[0]) 36 print("?") 37 names.save() 38 # filer1.close() 39 40 41 42 43input("-------------finish----------------------------------------------") 44 45 46
回答
Takai様
「python script上では実行」とはどのような操作ですか。
⇒デフォルトのpythonソフト(IDLE python3.10)のスクリプトからRunで実行できます
「GUI」でできないとはどのような操作をしたときですか。 「コマンドプロンプト」ではどこでどのようなコマンドを実施していますか。
⇒デスクトップ上で上記のpyファイルをダブルクリックして起動したときです。
pythonはインデントが無いと 読めないので、<code>ボタンを押してでてくる書式の中にコードを記述してください。
質問は編集できますので、回答は質問の編集でお願いします。
⇒修正しました。
問題はたあぶん「list = glob.glob('*.xlsx')」でリストが抽出されないためでしょう。xlsxのあるディレクトリ(フォルダ)で実行していますか?
⇒実行ファイルと同じフォルダ内にexcelファイルはあります。
ご回答宜しくお願い致します。
jbpb0様
pythonのコードの一番最初の行のすぐ上に python だけの行を追加してください また、pythonのコードの一番最後の行のすぐ下に
だけの行を追加してください または、 https://teratail.storage.googleapis.com/uploads/contributed_images/56957fe805d9d7befa7dba6a98676d2b.gif を見て、そのようにしてみてください 現状、コードがとても読み辛いです 質問にコードを載せる際に上記をやってくれたら、他人がコードを読みやすくなり、コードの実行による現象確認もやりやすくなるので、回答されやすくなります。
⇒URLまでありがとうございます。修正してみましたがいかがでしょうか。
回答1件
あなたの回答
tips
プレビュー