gpt4 book ai didi

python - 将列组织和排序到字典变量中

转载 作者:太空宇宙 更新时间:2023-11-04 04:03:10 25 4
gpt4 key购买 nike

我有一个包含多列的 stats.csv 文件,其中的前两列是(注意:我没有包括表格的其余部分,因为它包含 secret 数据):

USER        TEAM

UKW1G1KK8 TFCARKGN5

UL3DTLGRE TFCARKGN5

UL2HHLQRY TFCARKGN5

ULTM136EB TFCARKGN5

UFD51MS69 TFCARKGN6

UKM4K5DJR TFCARKGN6

UMS5G3PEH TFCARKGN6

UL7RL2X5E TFCARKGN6

UMP69CC69 TFCARKGN6

我希望创建一个这样的字典:current_teams = {team: [users]}

在上面的例子中是

current_teams = {TFCARKGN5:[UKW1G1KK8,UL3DTLGRE,UL2HHLQRY,ULTM136EB],  TFCARKGN6:[UFD51MS69,UKM4K5DJR,UMS5G3PEH,UL7RL2X5E,UMP69CC69]}

这是我写的

import csv
stats = {}
with open('Data/stats.csv', mode='r') as csv_file:
csv_reader = csv.DictReader(csv_file)
for row in csv_reader: stats.update({row['USER']: row})

current_teams = {}
members = []
for user_id, team in zip(list(stats.keys()), [stats[user]['TEAM'] for user in list(stats.keys())]):
current_teams = {team:{'members':members.append(user_id)}}

但我得到的输出是这样的:{'TFCARKGN5': {'members': None}}

我哪里错了?

最佳答案

我不清楚你想要实现什么,但我看到你使用 members.append(user_id) 作为字典中的值,但是 .append() 不返回值。

我认为这段代码实现了您正在寻找的分组(我将其作为文本文件阅读,但如果您愿意,也可以使用 csv 模块):

import collections
teams = collections.defaultdict(set)

with open('test.txt') as f:
for i, line in enumerate(f):
if i == 0:
# skip first line
continue

line = line.strip()
if len(line) > 0:
user, team = line.split(',')
teams[team].add(user)

print(teams)
for t, user_set in teams.items():
print(t, user_set)

输出是:

defaultdict(<class 'set'>, {'TFCARKGN5': {'ULTM136EB', 'UKW1G1KK8', 'UL3DTLGRE', 'UL2HHLQRY'}, 'TFCARKGN6': {'UFD51MS69', 'UMS5G3PEH', 'UKM4K5DJR', 'UMP69CC69', 'UL7RL2X5E'}})
TFCARKGN5 {'ULTM136EB', 'UKW1G1KK8', 'UL3DTLGRE', 'UL2HHLQRY'}
TFCARKGN6 {'UFD51MS69', 'UMS5G3PEH', 'UKM4K5DJR', 'UMP69CC69', 'UL7RL2X5E'}

关于python - 将列组织和排序到字典变量中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57826990/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com