###前提・実現したいこと
あるデータの解析をしたいと思っています。
745164EA 80 00 00 00 31 00 32 00 7332CD3F 080159.008 070817 A 08 0 +0050
745164EA 00 00 38 00 00 00 00 3F 7332CD3F 080159.008 070817 A 08 0 +0050
745164EB 00 00 00 23 00 24 00 00 7332CD3F 080159.008 070817 A 08 0 +0050
74C7A363 BF 00 00 00 3F 00 3B 00 74B0457F 080200.000 070817 A 08 0 +0058
データファイルはこのようになっていて、一番左の745164EAの列をrow[0]、行全体をrowとしています。
このデータファイルでは、たまに空欄の(何も書いていない)行やrow[0]がアルファベットの行があるため、その行をはじいて解析をしたいと思っています。
###発生している問題・エラーメッセージ
list index out of range
空欄の行をはじくことができません。空欄の行にぶつかると、解析がストップしてエラーが出てしまいます。
###該当のソースコード
num
1min = 1 #読み取り始める行数 2max = 1000000 #読み取り終わる行数 3with open(filename, 'r') as f: 4 reader = csv.reader(f, delimiter=' ') 5 for row in reader: 6 if num >= max: #numがmax以上だったらループから外れる 7 break 8 elif num >= min: #numがmin以上だったら実行する 9 print (row[0]) 10 11 if row[0] =="ST" or row[0] =="BA" or row[0] == "DS": 12 continue 13 elif len(row) != 16: 14 continue 15 else: 16 for i in range(0,9): 17 data1[i].append(int(row[i],16)) 18 data1[10].append(row[10]) 19 num += 1 20コード
###試したこと
len(row) != 16:となっているところを、row[0] == ""としてみましたが、それもできませんでした。
###補足情報(言語/FW/ツール等のバージョンなど)
python Sublime Text 3 コマンドプロンプト
回答1件
あなたの回答
tips
プレビュー