0

数千行と 3 列のデータを持つ CSV ファイルを読み込もうとしています。1 列目と 2 列目は正常に読み取れていますが、3 列目を読み取ろうとすると範囲外エラーが発生します。言い換えると:

row=0
rowMax = len(AudioAngle)
while row < rowMax:
    print (AudioAngle[row][0])
    print (AudioAngle[row][1])
    row=row+1

両方とも機能し、追加したとき

print (AudioAngle[row][2])

物事は274行目までしか機能しません。
私のCSVファイルを見ると、その行にこれがあります。

00:09.0    0    0
00:09.0    0    0
00:09.0    0    0
00:09.1             <--- line 274
00:09.1    0    0
00:09.1    0    0
00:09.2    0    0

このコードでは、2 列目の空白は問題ありませんが、3 列目にエラーがスローされます。

この 3 番目の列を読み込もうとすると、範囲外のインデックス エラーがスローされるのはなぜですか?

4

2 に答える 2

0

[1] と [2] が存在しないため、274 行で範囲外のインデックスを取得することは理にかなっています。

274行目のように、データが存在する場合と存在しない場合がある場合は、使用する前に存在するかどうかを確認する必要があります。

if (AudioAngle[row][0]):
    print (AudioAngle[row][0])
于 2013-08-21T17:35:56.413 に答える