편집 기록

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

    python csv 파일을 읽고 사용자 입력을 받아 입력에 해당하는 카운트를 증가시켜 저장하는 방법


    식당 이름을 입력받아서 ranking.csv 파일이 존재하고, 입력 받은 식당 이름이 ranking.csv 파일 내에 있을 때 행을 추가하지 않고 기존 식당 이름에 count를 +1하여 csv에 write하고 싶은데 방법을 모르겠어요. 도와주세요.

        rest_name = str(input())
        count = 1
    
        file_exist = os.path.exists('ranking.csv')
        if rest_name:
            if not file_exist:
                with open('ranking.csv', 'w') as csv_file:
                    fieldnames = ['NAME', 'COUNT']
                    writer = csv.DictWriter(csv_file, fieldnames=fieldnames)
                    writer.writeheader()
    
            elif file_exist:
                # 파일 존재
                with open('ranking.csv', 'r') as csv_file:
                    fieldnames = ['NAME', 'COUNT']
                    reader = csv.DictReader(csv_file, fieldnames=fieldnames)
                    for row in reader:
                        if rest_name == row:
                            with open('ranking.csv', 'a') as csv_file2:
                                writer = csv.DictWriter(csv_file2, fieldnames=fieldnames)
                                writer.writerow({'NAME': 5, 'COUNT': 5})
    
                    else:
                        with open('ranking.csv', 'a') as csv_file:
                            fieldnames = ['NAME', 'COUNT']
                            writer = csv.DictWriter(csv_file, fieldnames=fieldnames)
                            writer.writerow({'NAME': rest_name, 'COUNT': count})
    
  • 프로필 khv2644511님의 편집
    날짜2022.06.17

    python csv 파일에서 중복된 행이 있을 때 카운트 +1 하는 방법 좀 알려주세요!


    식당 이름을 입력받아서 ranking.csv 파일이 존재하고, 입력 받은 식당 이름이 ranking.csv 파일 내에 있을 때 행을 추가하지 않고 기존 식당 이름에 count를 +1하여 csv에 write하고 싶은데,,, 방법을 모르겠어요. 도와주세요 ㅠㅠ

    rest_name = str(input()) count = 1

    file_exist = os.path.exists('ranking.csv')
    if rest_name:
        if not file_exist:
            with open('ranking.csv', 'w') as csv_file:
                fieldnames = ['NAME', 'COUNT']
                writer = csv.DictWriter(csv_file, fieldnames=fieldnames)
                writer.writeheader()
    
        elif file_exist:
            # 파일 존재
            with open('ranking.csv', 'r') as csv_file:
                fieldnames = ['NAME', 'COUNT']
                reader = csv.DictReader(csv_file, fieldnames=fieldnames)
                for row in reader:
                    if rest_name == row:
                        with open('ranking.csv', 'a') as csv_file2:
                            writer = csv.DictWriter(csv_file2, fieldnames=fieldnames)
                            writer.writerow({'NAME': 5, 'COUNT': 5})
    
                else:
                    with open('ranking.csv', 'a') as csv_file:
                        fieldnames = ['NAME', 'COUNT']
                        writer = csv.DictWriter(csv_file, fieldnames=fieldnames)
                        writer.writerow({'NAME': rest_name, 'COUNT': count})