2017-12-05 5 views
1

私はcsvファイルの各行を一意に識別するために使用する8桁の乱数を含む変数(aTerm)を持っています。ここでcsvファイルの行に変数と等しい文字列があるかどうかを確認する方法

は、私は、対応する番号を持っている行を削除するために書いたコードです:

def rebuildFile(aTerm, aFile): 
    with open(aFile, 'r') as oldFile, open('static\\new.csv', 'w') as newFile: 
     for line in oldFile: 
      if not aTerm in line: 
       newFile.write(line) 
return 

唯一の問題は、私は文字列として8桁の番号を入力しない限り、それがすべてでは動作しませんということですifステートメントでだから、これは完璧に動作します:

def rebuildFile(aTerm, aFile): 
    with open(aFile, 'r') as oldFile, open('static\\new.csv', 'w') as newFile: 
     for line in oldFile: 
      if not "45893243" in line: 
       newFile.write(line) 
return 

を私は理解していないとあなたがstrにそれを比較するためにstraTermをキャストする必要が助けのおかげ

答えて

1

を大幅に感謝:

def rebuildFile(aTerm, aFile): 
    sTerm = str(aTerm) 
    with open(aFile, 'r') as oldFile, open('static\\new.csv', 'w') as newFile: 
     for line in oldFile: 
      if not sTerm in line: 
       newFile.write(line) 
+0

私はそれを文字列としてキャストしようとしましたが、関数に入り、if文の行にも入りませんでしたので、書きましたが、この正確な方法で初めて動作しました。多くのありがとう:) –

+0

実際にそれを動作しませんでした、私はそれが文字列にキャストそれはほぼ5amの助けてくれると私はそれがすでにストリングだと信じて –

0

問題は何らかの理由で私のウェブページからフラスコに渡されたinnerHTMLがそれの周りに1トンのスペースを持っていたので、それを剥がさなければならないということでした。この質問はReblochon Masqueによって答えられました。

関連する問題