Проблема с работой кода

Alexandr Nimchenko

Новичок
Пользователь
Май 8, 2022
7
0
1
Добрый вечер! Подскажите, пожалуйста, почему исходник не сохраняет информацию с двух групп при парсинге через vk api путём перебора id групп через цикл for в таблице xslx?
В xslx таблице информация с айдишниками групп .
Как можно подправить код, чтобы решить эту проблему? Месяц пытаюсь сообразить, но, из-за недостатка опыта, не могу её решить. Помогите, пожалуйста!
Исходик:
Python:
file_name = './results/tmp.csv'
with open(file_name, 'w') as file:
    writer = csv.writer(file)
    writer.writerow(('city', 'value'))

excel_data_df = pd.read_excel('.\group\groups.xlsx', sheet_name='Sheet')
lst = excel_data_df['ID'].tolist()
group_id = lst 

for i, ids in enumerate(group_id):
    print("Идентификатор группы: id",ids)
    members = api.groups.getMembers(group_id=group_id, counter=1000, fields='city')

    data = members
    json_str = json.dumps(data)
    resp = json.loads(json_str)

    if resp == resp:
        def count(cities, raw):
            result = {}
            for city in cities:
                result[city] = raw.count(city)
            return result

        data = resp
        raw = []
        uniq_city = set()

        for item in data['items']:
            try:
                city = item['city']['title']
            except KeyError:
                continue
            raw.append(city)
            uniq_city.add(city)
        result = count(uniq_city, raw)

        for key, value in result.items():
            key_city = (f'{key}')
            value_city=(f'{value}')

            file_name = "./results/tmp.csv"

            with open(file_name, 'a', encoding='utf-8', newline='') as file:
                writer = csv.writer(file,delimiter=",",lineterminator="\n")
                if key_city == 'Москва':
                    writer.writerow((key_city, value_city))
                elif key_city == 'Курск':
                    writer.writerow((key_city, value_city))
                elif key_city == 'Калининград':
                    writer.writerow((key_city, value_city))

                else:
                    continue
    else:
        print('ошибка')
 

Форум IT Специалистов