nano_exit

基礎的なことこそ、簡単な例が必要だと思うのです。

try/except文を用いた欠損データの読み込み

データのフォーマットやらなんやらで、読み込めないデータが混ざっている時、その部分だけをNoneで欠損させて読み込ませたい。
データの区切りが空白" "を場合を想定すると、

f= open( filename, "r" )
lines = f.read().split("\n")
f.close()

for line in lines:

  if not line: continue
  if "\r" in line:
    l = line.strip("\r").split(" ")
  else:
    l = line.split(" ")
  while "" in l: l.remove("")

  data = []
  try:
    data.append( map( float, l ) )
  except:
    ll = []
    for li in l:
      try:
        ll.append( float( li ) )
      except:
        ll.append( None )
    data.append( ll )

最初からmapを使わずに全部のデータを1個ずつfloat出来るかチェックするやり方もあると思うが、何となく泥臭くて嫌だなぁと。
mapで一行丸ごと実数化を試みた後に、上手く行かなかった成分を調べる方が人間に思考に近い気がする。