大家好!你能告诉我如何在csv中对值进行分组吗?我举个例子。csv 文件包含带有城市名称的列:
Москва Калининград Курск
您需要获取按列分组的表:
Москва Калининград Курск
2 3 1
3 1 1
4 2 3
5 0 0
作为函数执行的结果,我得到以下值:
Москва, 2
Калининград, 3
Курск, 1
我在网上没有找到合适的,但我自己也想不出来(经验和知识不够)。我请求你的帮助!资源:
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
据我了解,它应该是这样的:
解决方案: