openpyxl에서 새로운 파일을 만들 때, 새로 입력하는 데이터가 원본 데이터 파일 숫자 이후의 row에만 들어가요

처음에는 새 파일(result)에 위에서부터 차곡차곡 잘 쌓였는데, 어느 순간부터 원본데이터 약 5000개 숫자 바로 뒤의 숫자부터 새로운 데이터가 작성되기 시작해서 고쳐지지가 않네요....

import openpyxl

wb = openpyxl.load_workbook('.xlsx')
#sheet = wb.active
sheet = wb['최신본']
read_wb_result = openpyxl.load_workbook('result.xlsx')
read_ws_result = read_wb_result["Sheet1"]

#동일한것 검색하기
def GetCellValues(sheet_name,col_num):
    row_list = []
    for rowNum in range(2, sheet.max_row):
        rowNames = sheet_name.cell(row=rowNum, column=col_num).value #29 = AC
        row_list.append(rowNames)
    return set(row_list)

main_ID_unique = GetCellValues(sheet,29)
print('현재 검색가능한 층서단위는 총',len(main_ID_unique),'개 입니다.')
print(main_ID_unique)

#SearchName의 목표는 명단에 있는지 확인하는 것이지만, while로 돌려야 할 때가 있고 안돌려야 할 때도 있음.
class SearchNames():
    def __init__(self,search_name,refer_from):
        if search_name in refer_from:
            print("명단에 있습니다.")
            self.search_name = search_name
        else:
            print("명단에 없습니다.")
            keep_search = input('계속 검색하시겠습니까? y/n/o')
            if keep_search == 'y':
                while True:  # names_list에 검색하려는 이름이 있을 때 까지 확인
                    if search_name in refer_from:
                        print("명단에 있습니다.")
                        self.search_name = search_name
                        break
            elif keep_search == 'n':
                pass
            else:
                print('잘못입력')

what_to_find = input("검색할이름을 입력하세요")
checkname_in_list = SearchNames(what_to_find,main_ID_unique)
set_id = checkname_in_list.search_name
before_unique_code = []  #이전코드 목록 #

abbTbyquadYear = [] #
for rowNum in range(2, sheet.max_row):
    if  sheet.cell(row=rowNum, column=29).value == set_id :#
        abbreviationT = sheet.cell(row=rowNum, column=20).value #
        quadD = sheet.cell(row=rowNum, column=4).value #
        yearE = sheet.cell(row=rowNum, column=5).value #
        abbTbyquadYear = [yearE, quadD, abbreviationT] #
        before_unique_code.append(abbTbyquadYear) #

print('중복 처리 전의 이전코드 목록:',before_unique_code)
print()

unique_former_code_list = []
for i in before_unique_code:
    if i not in unique_former_code_list:
        unique_former_code_list.append(i)
print('unique 처리 후 : ',unique_former_code_list)
print()

reversed_sorted_list = sorted(unique_former_code_list, reverse=True)

print('sorted_list by year : ',reversed_sorted_list,end='\n')
print()

print('이전코드 목록 : ', end='')
former_code_final=''
for number in reversed_sorted_list:
    in_line = str(number[2])+'('+str(number[1])+', '+str(number[0]) +')'
    if number != reversed_sorted_list[-1]:
        former_code_final+=in_line+', '
    else:
        former_code_final+=in_line

print(former_code_final)

latest_code = reversed_sorted_list[0][2]
print()
print("대표코드는", latest_code,"입니다.")
print('검색결과 도출완료',end=' /n')

print('출력 시작')
#반복을 통해 리스트에서 이름 넣기
header_newfile = ['이름','대표코드','이전코드']
up=1
for i in header_newfile :
    read_ws_result.cell(row=1, column=up).value = i
    up += 1
''''''

#결과 출력
'''
read_ws_result['A2'] = search_name
read_ws_result['B2'] = latest_code
read_ws_result['C2'] = former_code_final
'''

result_name_list = GetCellValues(read_ws_result, 1) #result 파일에 있는 목록들 다 가져오기
print(set_id, latest_code, former_code_final)
if set_id in result_name_list:
    print("명단에 있습니다.")
    print('자료입력 없이 프로세스를 종료합니다.')
else:
    print("명단에 없습니다. 자료를 입력합니다.")
    read_wb_result["Sheet1"].append([set_id, latest_code, former_code_final])
#= SearchNames(set_id, result_name_list) #이름과 result파일에 있는 이름리스트안에 명단에 있는지 확인

#writedown = read_ws_result.append([set_id, latest_code, former_code_final])
#writedown


read_wb_result.save('result.xlsx')
print('반영이 완료되었습니다. 상위 10개 자료를 출력합니다.')

#엑셀파일내 1-3row 출력
rows = read_ws_result[1:10]
for row in rows:
    for cell in row:
        print(cell.value)

youngeun.jo1494 428

M 2020년 10월 6일 4:21 오후

목록으로