2017-04-07 4 views
0

私はデータ分析を行うためにpythonでプログラムを書くことができました。プログラムは最初から最後まで小さなmcveデータでうまくいっています。しかし、大きなデータセットを使用して実行すると、データ構造に障害が起こるまでうまく動作し、TypeErrorになります。プログラムは大きく、オンザフライでいくつかのデータを作成するので、大きなデータの特定の行が本当に混乱しているデータ構造であるかを追跡することはできません。pythonスクリプトでエラーの原因となっている大きなデータの特定の行を見つける方法はありますか?

問題:私のデータのどの行がデータ構造が間違っているかを知りたい。それを行う簡単な方法。

どの機能から問題が発生しているのか分かります。しかし、私の問題は関数ではなく、どこか微妙な構造的な問題があるかもしれないデータ構造です。問題が発生するまで、データは何度か実行されますが、どこではわかりません。私は視覚的にそれをトレースするために印刷機能を追加しようとしました。しかし、データは非常に巨大で多くの同様のパターンであり、実際にはそれをメイン・ビッグ・データに戻してトレースしています。

スクリプトをここに入れるべきかどうかはわかりませんが、SEに自分のプログラムを書かなくても、私が受け取れる候補があると思います。

すべての情報を評価しました。

+0

コードのトレースバックをチェックしますか? –

+0

はい、あります。私は、どの機能から問題が発生しているのかを知ることができます。しかし、私の問題は関数ではなく、どこか微妙な構造的な問題があるかもしれないデータ構造です。問題が発生するまで、データは何度か実行されますが、どこではわかりません。私は印刷機能を視覚的にそれをトレースして追加しようとしました。しかし、データは非常に巨大で多くの類似パターンであり、視覚的に見つけるのは本当に難しい。 – everestial007

答えて

3

コードは役に立ちますが、それがなければ、行番号を追跡してエラーに含めることしか考えられません。試してみてください。

line_number = 0 
for line in your_file: 
    line_number += 1 
    try: 
    <do your thing> 
    except(TypeError): 
    print("Error at line number {}".format(line_number)) 

EDIT:これは単に行番号を印刷し続けます。処理を停止する場合は、エラーを発生させることもできます。

+0

良い最初の答え! – Julien

+0

ありがとう! :) それが役に立てば幸い。 –

関連する問題