2016-11-18 5 views
0

私は最近ここに質問をしましたhow can I read each line of a xls file with pausingと私は私の問題を解決した答えを得ました。私たちがそれを停止または一時停止するまで何度もループを繰り返す方法

import time 
import pandas as pd 
import os 
import xlrd 
# at first I try to know how many rows and how many columns I have 
workbook = xlrd.open_workbook('myfile.xls') 
for sheet in workbook.sheets(): 
    for row in range(sheet.nrows): 
     for column in range(sheet.ncols): 
      os.system('clear') 
      print "value::: ", sheet.cell(row,column).value 
      time.sleep(5.5) # pause 5.5 seconds 

私がやりたいことはXLSの行線の終わりに行く途中でループを作り、その後、私はそれを停止するまで何度も先頭を返したりすることを、次のようにコードがありますそれを一時停止する、あなたはこれを行う方法を知っていますか?

+0

改訂版の回答を参照してください。 – Jovito

答えて

2

別のループの中に入れてください。あなたは全体の事を10回繰り返したい場合たとえば、ちょうどこの操作を行います。

for i in xrange(10):  
    for sheet in workbook.sheets(): 
     num_of_cells = sheet.nrows * sheet.ncols 
     for cell in range(num_of_cells): 
      row = int(cell/sheet.ncols) 
      col = cell % sheet.ncols 
      print "value::: ", sheet.cell(row, col).value 
      time.sleep(5.5) # pause 5.5 seconds 
+0

状況:トレースバック(最新の最後の呼び出し)のためにエラーが発生しました: ファイル "my_prog2.py"、行16、 条件: NameError:name 'condition'も定義されていませんターミナルをクリアしないでください。 –

+0

@LearnerAlgorithm 'condition'を、ループが真であるときに終了させる実際の状態に置き換えなければなりません。 – Jovito

2

おそらく私が見つけた最も簡単な方法は、pythonKeyboardInterrupt例外を - あなたならばそれは、もちろんである 'を使用することです(Ctrl-Cを押して)ループを終了すると、全体のスクリプトを停止して再確認してください。

for sheet in workbook.sheets(): 
    for row in range(sheet.nrows): 
     for column in range(sheet.ncols): 
      try: 
       os.system('clear') 
       print "value::: ", sheet.cell(row,column).value 
       time.sleep(5.5) # pause 5.5 seconds 
      except KeyboardInterrupt: 
       pass #insert here anything you'd like your script to do before it halts 
+0

それは私にエラーを与える、私はKeyboardInterruptを除いてそれを使用した: 私に文法エラーを与えるCtrl + Cを渡すファイル "my_prog2.py"、行16 あなたのスクリプトをしたいものをここに挿入それが停止する前に行う ^ SyntaxError:無効な構文 –

+0

スクリプトに「Ctrl + C」と書かれたのはなぜですか? :) 'pass'は基本的に '何もしない'というスタンドアロンの文です。 'Ctrl + C'を削除してみてください。 'pass 'の後のコメントがあなたを混乱させた場合、私はあなたが終了時にスクリプトがしたいと思うもの(' 'さようならメッセージを書いたり、ファイルを閉じるなど)で' 'pass''を置き換えることができたことを意味しました。私が言ったように – deefff

+0

、私はそれがキーワードによってそれを停止するか、または私はキーワードによってそれを一時停止するまで続けると思います。私がctrl + Cを削除しても、何かプッシュしても、それは止まらず、一時停止して続行しません。 –