Всем привет! Подскажите, пожалуйста, как сгруппировать значения в csv? Привожу пример. В файле csv есть столбцы с именованием городов: Москва Калининград Курск
Нужно получить таблицу с группировкой по столбцам:
По результатам выполнения функции получаю следующие значения:
На просторах Интернета ничего подходящего не нашел, а сам не смог придумать (опыта и знаний не хватает). Прошу Вашей помощи! Исходник:
Нужно получить таблицу с группировкой по столбцам:
Код:
Москва Калининград Курск
2 3 1
3 1 1
4 2 3
5 0 0
По результатам выполнения функции получаю следующие значения:
Код:
Москва, 2
Калининград, 3
Курск, 1
На просторах Интернета ничего подходящего не нашел, а сам не смог придумать (опыта и знаний не хватает). Прошу Вашей помощи! Исходник:
Python:
import csv
with open(f'tmp.csv', 'w') as file:
writer = csv.writer(file)
writer.writerow(('Москва','Калининград', 'Курск'))
data = members
json_str = json.dumps(data)
resp = json.loads(json_str)
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}')
with open(f'tmp.csv', 'a', encoding='utf-8', newline='') as file:
writer = csv.writer(file,delimiter=",",lineterminator="\n")
if key_city == 'Москва':
writer.writerow((value_city))
elif key_city == 'Калининград':
writer.writerow((value_city))
elif key_city == 'Курск':
writer.writerow((value_city))
else:
pass