2014-11-30 6 views
0

루프 내에서 만든 목록의 첫 번째 요소를 가져 와서 빈 목록에 추가하려고합니다.빈 목록에 목록 요소 추가

쉬운 권리? 하지만 내 코드가

빈 목록은 index

이다에서 나는 숫자를 당기는거야 목록입니다 ... 작동하지 않는 data

import pandas as pd 
import numpy as np 

ff = open("/Users/me/Documents/ff_monthly.txt", "r") 
data = list(ff) 

f = [] 
index = [] 

for i in range (1, len(data)): 

    t = data[i].split() 
    index.append(int(t[0])) 

    for j in range(1, 5): 

     k = float(t[j]) 
     f.append(k/100) 

n = len(f) 

f1 = np.reshape(f,[n/4, 4]) 

ff = pd.DataFrame(f1, index= index, columns = ['Mkt_Rf','SMB','HML','Rf']) 
ff.to_pickle("ffMonthly.pickle") 
print ff.head() 

내가 루프의 목록 t를 작성, 내가 제대로 만들어 졌는지 확인했습니다.

len(t) = 5 

print t[0] = 192607 

print t = ['192607', '2.95', '-2.54', '-2.65', '0.22'] 

코드 :

index.append(t[0]) 

그것은 tindex에 목록의 첫 번째 요소를 추가해야 ... 맞습니까?

IndexError: list index out of range 

내가 여기 실종 무엇 :

는 그러나, 나는이 오류가?

편집 :

위의 전체 코드를 게시했습니다. 당신의 txt 파일에 빈 줄이 있으면 여기

는 "ff_monthly.txt"

  Mkt-RF SMB  HML  RF 
192607 2.95 -2.54 -2.65 0.22 
192608 2.64 -1.22 4.25 0.25 
192609 0.37 -1.21 -0.39 0.23 
192610 -3.24 -0.09 0.26 0.32 
192611 2.55 -0.15 -0.54 0.31 
192612 2.62 -0.13 -0.08 0.28 
+1

'index.append (t [0])'은 오류의 원인이되는 줄입니까? – irh

+2

작성된 코드에는 구문 오류가있어 실행시 코드가 수행하는 작업을 다시 만들 수 없습니다. index.append에서 (INT (t [0])) IndexError –

+0

라인 15 :리스트 인덱스 범위 중 내가 그 잘못 읽고 있어요 않는 :/ – Chef1075

답변

0

확인의 처음 몇 행이다.

.split()는 uggly [0]

0

빠른하고 t을 실패합니다 빈 목록을 반환합니다 ""때문에 :

for i in range (1, len(data)): 
    t = data[i].split() 
    if t: 
     index.append(int(t[0])) 
     for j in range(1, 5): 
      k = float(t[j]) 
      f.append(k/100) 

이유 :

당신은 빈 줄이 파일의 끝. 로컬에서 재생산되었습니다.