2017-09-29 5 views
2

私は何ヶ月もPythonスクリプトを正常に実行しています。スクリプトはwin32comコマンドを使用してテンプレートのExcelスプレッドシートを編集し、編集したブックを新しい.xlsxファイルとして保存します。Python win32com workbook.SaveAs 'パラメータの数が無効です。'エラー

results_path = "C:\\Users\\...\\" 
results_title = results_path + input + "_Results.xlsx" 

if os.path.exists(template_path): 
    xl= win32com.client.gencache.EnsureDispatch("Excel.Application") 
    xl.Application.DisplayAlerts = False 

    xl.Workbooks.Open(Filename= template_path) 
    xl.Application.Cells(2,6).Value = input 
    r = 17 
    for row in y_test: 
     row = str(row) 
     row = row[1:] 
     row = row[:-1] 
     xl.Application.Cells(r,2).Value = row 
     r += 1 
#   xl.Application.CalculateFullRebuild 
#   xl.ActiveWorkbook.SaveAs(Filename = save_title) 
#   time.sleep(20) 
    r = 17 
    for row in prediction: 
     row = str(row) 
     row = row[1:] 
     row = row[:-1] 
     xl.Application.Cells(r,3).Value = row 
     r += 1 
    xl.ActiveWorkbook.SaveAs(Filename = results_title) 

スクリプト内の何も変更せずにもう機能しません。ある日それだけでここ

を動作を停止し、エラーです:

Traceback (most recent call last): 

File "<ipython-input-5-aaef40198ed6>", line 1, in <module> 
runfile('C:/Users/Alex/Desktop/Stocks/Python Stock Code/BizNet.py', wdir='C:/Users/Alex/Desktop/Stocks/Python Stock Code') 

File "C:\Users\Alex\Anaconda3\lib\site-packages\spyder\utils\site\sitecustomize.py", line 710, in runfile 
execfile(filename, namespace) 

File "C:\Users\Alex\Anaconda3\lib\site-packages\spyder\utils\site\sitecustomize.py", line 101, in execfile 
exec(compile(f.read(), filename, 'exec'), namespace) 

File "C:/Users/Alex/Desktop/Stocks/Python Stock Code/BizNet.py", line 99, in <module> 
BizNet_test.accuracy_Test(companyInputOrderArray,input,model) 

File "C:\Users\Alex\Desktop\Stocks\Python Stock Code\BizNet_test.py", line 125, in accuracy_Test 
xl.ActiveWorkbook.SaveAs(results_title) 

File "C:\Users\Alex\AppData\Local\Temp\gen_py\3.5\00020813-0000-0000-C000-000000000046x0x1x9\_Workbook.py", line 284, in SaveAs 
, AccessMode, ConflictResolution, AddToMru, TextCodepage, TextVisualLayout 

com_error: (-2147352562, 'Invalid number of parameters.', None, None) 
+0

ようこそ!質問をする方法については、[ツアー](https://stackoverflow.com/tour)と[How-to-askページ](https://stackoverflow.com/help/how-to-ask)を参照してください。質の高い回答が得られます。詳細については、[あなたの質問を編集](https://stackoverflow.com/posts/46496182/edit)を参照してください。 COMエラーなので、おそらくWindowsコンポーネントが更新され、win32comが古いバージョンを探しているのだろうかと思います。あなたは最近Excelのバージョンを変更しましたか? – cxw

答えて

2

がそれを手に入れました!

私は削除しなければならなかった一時的なキャッシュフォルダ "gen_py"がありました。エラーのファイルパスによって参照されたもの。

"C:\Users\Alex\AppData\Local\Temp\gen_py\3.5\00020813-0000-0000-C000-000000000046x0x1x9\_Workbook.py" 

私はこれがなぜ機能したのか、エラーが最初にどのように発生したかを知りませんが、今はすべて問題ありません。

+0

私は同じ問題を抱えていて、この解決策が問題を解決しました。 – tanaque

関連する問題