편집 기록

편집 기록
  • 프로필 nowp님의 편집
    날짜2020.06.27

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


    #년도
    
    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를 넣은값이나옵니다

  • 프로필 알 수 없는 사용자님의 편집
    날짜2020.06.27

    python으로 parsing하기 질문드립니다!!


    #년도
    
    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를 넣은값이나옵니다