2010-05-21 2 views
0

:파이썬 CSV 리더의 역할 이상한 나는이 잘못된 코드 실행한다면 OK

csvReader1 = csv.reader(file('new_categories.csv', "rU"), delimiter=',') 
for row1 in csvReader1: 
    print row1[0] 
    print row1[8] 
    category_sku = str(row[8]) 
    if category_sku == sku: 
     classifications["Craft"] = row[0] 
     classifications["Theme"] = row[1] 

를 내가 얻을 : 편직 및 391 내가 행을 참조 할 필요 물론, 정확히 맞아

Knitting 
    391 
    Traceback (most recent call last): 
     File "upload_all_inventory_ebay.py", line 403, in <module> 
     inventory_item_list = get_item_list(product) 
     File "upload_all_inventory_ebay.py", line 294, in get_item_list 
     category_sku = str(row[8]) 
    NameError: global name 'row' is not defined 

[8] ROW1로 [8] ... 그래서 케이 난이 수행

csvReader1 = csv.reader(file('new_categories.csv', "rU"), delimiter=',') 
    for row1 in csvReader1: 
     print row1[0] 
     print row1[8] 
     category_sku = str(row1[8]) 
     if category_sku == sku: 
      classifications["Craft"] = row1[0] 
      classifications["Theme"] = row1[1] 

을 그리고 난이 얻을 :

........... 
Crochet 
107452 
Knitting 
107454 
Knitting 
107455 
Knitting 
107456 
Knitting 
107457 
Crochet 
108200 
Crochet 
108201 
Crochet 
108205 
Crochet 
108213 
Crochet 
108214 
Crochet 
108217 

108432 
Quilt 
108451 

108482 

108488 
Scrapbooking 
108711 
Knitting 
122363 
Needlework 

Beading 

Crafts & Decorating 

Crochet 

Crochet 

Crochet 

Traceback (most recent call last): 
    File "upload_all_inventory_ebay.py", line 403, in <module> 
    inventory_item_list = get_item_list(product) 
    File "upload_all_inventory_ebay.py", line 292, in get_item_list 
    print row1[0] 
IndexError: list index out of range 

어디 모든 으론 것은 열 0과 1 열에서이 참조 출력 !!!!!!!!!! 왜? 그리고 전에 rowl [0]이 범위를 벗어난 경우 WHY가 범위를 벗어납니다. 예 ~ 금요일! 당신이 모든 행을하기위한 곳 중 1 번째와 9 번째 열을 인쇄하고 있기 때문에

답변

2

출력은 모든 행의 결과가 포함되어 있습니다.

row1[0] 파일의 특정 라인에있는 모든 항목이 없기 때문에 무엇이든 행의 범위를 벗어났습니다. row1 액세스에 대한 항목이없는 경우 row1의 첫 번째 항목에 액세스 할 수 없습니다. 각 루프에 row1을 확인하여 내용이 있는지 확인하십시오.

+0

오 그 의미가 내가 내 작업을 업데이트 가서 하루에 전화한다, 나는 금요일에 4에서이 작업을 수행하려고 무엇을 얻을 다시 죄송합니다 이런합니다, 감사합니다 – KacieHouser