2017-11-28 1 views
0

각 열의 값을 인쇄하는 엑셀 시트를 반복하려고합니다. 그런 다음 다음 행으로 이동하여 파일의 끝까지 열 값을 인쇄하십시오. 내가 범위를 벗어 오류 또는 튜플 인덱스를 얻을 파이썬 루프 시트 인쇄 셀 값을 엑셀

Name   email    desc   date 
name1   email1    desc1   date1 
name2   email2    desc2   date2 
name3   email3    desc3   date3 



wb = load_workbook('example.xlsx') 
sheet = wb.get_sheet_by_name('Sheet1') 
row_count = sheet.max_row -1 
column_count = sheet.max_column 
i = 1 
while (i <= row_count): 
for item in sheet.iter_cols(): 
    #for row in sheet.iter_cols(): 
    first_value = item[i] 
    print (first_value.value) 
    i+=1 

처럼

내 데이터 보인다, 또한 올바른 데이터를 인쇄하지 않습니다. 데이터가 동일한 행

+0

[Read Excel File in Python] (https://stackoverflow.com/questions/22169325/read-excel-file-in-python)의 중복 가능 – thatrockbottomprogrammer

+0

** 완전한 * * 코드와 com plete 오류 메시지. – monamona

답변

1

당신이 사실에 있지 않기 때문에 내가 분명히 잘못 이름 1, EMAIL2, 출력으로 desc3을 얻을 상기 범위 부족 오류 전에 코드

first_value = item[i] 
IndexError: tuple index out of range 

name1, email2, desc3과 같은 값을 인쇄하면 열과 행이 모두 증가하는 것으로 나타납니다. 이것은 중첩 된 for-loop에서 외측 루프가 아닌 i을 증가시키기 때문입니다.

while 루프에서 늘리십시오. 예,이 같은 :

while (i <= row_count): 
for item in sheet.iter_cols(): 
    #for row in sheet.iter_cols(): 
    first_value = item[i] 
    print (first_value.value) 
i+=1 
1

이 .CSV

로 파일을 저장하는 것입니다 해결하는 가장 쉬운 방법은 다음과 같이 실행 :

import csv 
with open(<YOUR_CSV_FILE_NAME>) as csvfile: 
    reader = csv.DictReader(csvfile) 
    for row in reader: 
     print(row) 

여기에서 당신이 놀 수있는 " 행 "변수를 입력하십시오