python으로 엑셀파일 parsing하기 질문드립니다!!

조회수 708회
#년도

year_list = []
for filename in name_list:
        book = openpyxl.load_workbook(filename)
        sheet = book.worksheets[0]
        def findExistString(searchString, text):
            if searchString in text: return True
            else: return False
        def findNonExistString(searchString, text):
            if searchString in text: return False
            else: return True
        for row in sheet.rows:
            if findExistString('영업', row[1].value):
                        year_list.append(filename[11:15])
                        break
    #영업이익
profit_list = []
for filename in name_list:
        book = openpyxl.load_workbook(filename)
        sheet = book.worksheets[0]
        def findExistString(searchString, text):
            if searchString in text: return True
            else: return False
        def findNonExistString(searchString, text):
            if searchString in text: return False
            else: return True
        for row in sheet.rows:
            if findExistString('영업', row[1].value):
                        profit_list.append(row[2].value)
                        break
  #당기순이익
netincome_list = []
for filename in name_list:
        book = openpyxl.load_workbook(filename)
        sheet = book.worksheets[0]
        def findExistString(searchString, text):
            if searchString in text: return True
            else: return False
        def findNonExistString(searchString, text):
            if searchString in text: return False
            else: return True
        for row in sheet.rows:
            if findExistString('당기', row[1].value):
                        netincome_list.append(row[2].value)
                        break
  #매출액
sales_list = []
for filename in name_list:
        book = openpyxl.load_workbook(filename)
        sheet = book.worksheets[0]
        def findExistString(searchString, text):
            if searchString in text: return True
            else: return False
        def findNonExistString(searchString, text):
            if searchString in text: return False
            else: return True
        for row in sheet.rows:
            if findExistString('매출액', row[1].value):
                        sales_list.append(row[2].value)
                        break
A = year_list
B = profit_list
C = netincome_list
D = sales_list

이렇게해서 코드를 짰는데요. name_list에 도 나중에 반복문을 쓸생각입니다.

여기서 문제가 하나 생겼는데요. name_list를 한번쓰고 다음차례에 name_list값이 전에쓴 name_list값이나온다는 겁니다. 혹시 지식을좀 나눠주실수 있을까요?

ex)name_list = a 

 profit_list = AAA

  ex)name_list = b

profit_list = AAA

name_list를 b로 했음에도 profit_list에는 a를 넣은값이나옵니다

  • 1. 질문이 이해가 잘 안 돼요. 2. 예도 이해가 안 되요. name_list 는 파일명리스트여야 할텐데, a ??? nowp 2020.6.27 22:49
  • 넵 name_list는 파일명 리스트입니다 알 수 없는 사용자 2020.6.27 23:09
  • 그러니까음 다른 파일들을 name_list에 집어넣었는데도 전에있던 name_list로 처리가되네여 ㅠ name_list를 치면 분명히 새로운 파일들인데 말이죠 알 수 없는 사용자 2020.6.27 23:10
  • 1. name_list 에 어떻게 집어넣었는데요? 2. name_list 를 "친다"는게 무슨 말이에요? 3. profit_list 를 구하는 for 문 안에서 name_list 에서 나온 filename 을 하나씩 ( print(filename))찍어가며 확인해 보면 어때요? nowp 2020.6.27 23:28

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)