PythonでFEM解析の出力テキストなどを読み込み中に、改行やブランク行の判定時にエラーが出て困っていませんか?もしかしたら、見たままの ” や ‘ ‘ と比較していませんか?その解決法について紹介します。
Pythonでこんなエラーが出ていませんか
Pythonでテキストなどを読み込み中に、改行やブランク行の判定時にこんなエラーが出て困っていませんか?
Pythonで改行の行を ’’ 、ブランク行を ’ ’(例えば1このブランクと改行)として判定しているのでは?
たとえば、1個目から10個目の文字が ” や ’ ’ でなければ、リスト\(Z\)に18番目から27番目の文字を数字で追加するとしたい場合
if line[ 0:10]!=' ' and #line[ 0:10]!='':
Z.append(float(line[ 17: 27]))
Pythonでの改行の表記
Pythonでは改行は \n で表されます。ですからテキストの改行を探す場合も画面上で何も表示されていなくても、改行行は ’\n’ 、一文字と改行がある行は ‘ \n’ としなくてはなりません。
ですから、つぎのようにすると正しく動作します。
if line[ 0:10]!='\n' and #line[ 0:10]!=' \n':
Z.append(float(line[ 17: 27]))
簡単な事ですが、私自身テキストから数値部分だけを取り出すときに、なかなか解決しなかった問題でしたので、掲載してみました。
コメント