2017-01-17 6 views
1

を使用して、コマンドライン引数からの.pyのコードを実行:は、私はExcelファイルからの読み込み、Pythonスクリプトを用意しましたEnthoughtキャノピー

私はJupyterノートブックを通してそれを実行した場合
import glob 
import pandas as pd 
import StringIO 
import sys 
import os 
from xlrd import open_workbook 

filelocation = str(sys.argv[0]) 
outputlocation = str(sys.argv[1]) 
FileExtension = str(sys.argv[2]) 
Separator = str(sys.argv[3]) 



#filelocation = 'C:\Desktop\MasterFile.xlsx' 
#outputlocation = 'C:\Desktop\output' 
wb = open_workbook(filelocation) 

は、それが正常に実行されます。

しかし、私は、以下のパラメータを渡すことによって、コマンドラインから実行するとき、それは私にエラーを与える

コマンドライン:

python MergeFilesv1_2.py "C:\Desktop\MasterFile.xlsx" "C:\Desktop\output" ".csv" "," 

エラーメッセージ:

Traceback (most recent call last): 
File "MergeFilesv1_2.py",line 22, in <module> 
wb = open_workbook(filelocation) 
File "C:\Users\Sha\appData\Local\Enthought\Canopy\User\lib\site-packages\xlrd\_init__.py",line 441, in open_workbook 
ragged_rows=ragged_rows, 
File "C:\Users\Sha\appData\Local\Enthought\Canopy\User\lib\site-packages\xlrd\book.py",line 91, in open_workbook_xls 
biff_version = bk.getbof(XL_WORKBOOK_GLOBALS) 
File "C:\Users\Sha\appData\Local\Enthought\Canopy\User\lib\site-packages\xlrd\book.py",line 1230, in getbof 
bof_error('Expected BOF record; found %r' %SELF.MEM[SAVPOS:SAVPOS + 8]) 
File "C:\Users\Sha\appData\Local\Enthought\Canopy\User\lib\site-packages\xlrd\book.py",line 1224, in bof_error 
raise XLRDError('Unsupported format, or corrupt file:' + msg) 
xlrd.biffh.XLRDError:Unsupported format, or corrupt file: Expected BOF record, found '\n# codin' 

答えて

2

あなたのファイルの名前も引数です。

MergeFilesv1_2.py
sys.argv[1]がそのように"C:\Desktop\MasterFile.xlsx"ととして割り当てられている手段として、
sys.argv[0]が割り当てられています。

+0

ありがとうLafexlos。どのように私はそれを逃すか分からない。 –

+1

@SachinKamble http://stackoverflow.com/help/someone-answers –

+1

@SachinKamble Stack Overflowコミュニティの責任者になるには、上記の答えを正解とマークアップしてアップポットしてください。詳細については、前のコメントのリンクをお読みください。 –

関連する問題