У меня есть файл CSV, отслеживающий счет людей в игре. Я прочитал его с помощью csv.dictreader () < /code>.
Как мне создать словарь с именами, которые являются именами, а значение - оценки?name,Game_1, Game_2, Game_3
James,3,7,4
Charles,2,3,8
Bob,6,2,4
< /code>
Примечание: имена игр могут измениться, а также количество игр. < /p>
Пример кода: < /p>
# Dictionary to load scores into
score_sheet = {}
# Read CSV file into memory
with open("scores.txt") as scores_file:
reader = csv.DictReader(scores_file)
list_of_games = reader.fieldnames[1:]
# Load each row seperately
for row in reader:
for game in list_of_games:
score_sheet[row[0]] = {row[game]:row[game[1]}
< /code>
# Experiment 1
# Load each row separately
for row in reader:
score_sheet[row[0]] = row[1]
< /code>
# Experiment 2
for row, value in reader:
print(row, value)
< /code>
желаемый вывод: < /p>
score_sheet = {
'James':{'Game_1':'3'}, {'Game_2':'7'}, {'Game_3':'4'}
'Charles':{'Game_1':'2'}, {'Game_2':'3'}, {'Game_3':'8'}
'Bob':{'Game_1':'6'}, {'Game_2':'2'}, {'Game_3':'4'}
# Optionally:
# name:[{game:score}, {game:score}, {game:score}]
}
< /code>
Ошибки: < /p>
score_sheet[row[0]] = {row[game]:row[game[1]}
# ^^^^^^ KeyError: 0
score_sheet[row[0]] = row[1]
# ^^^^^^ KeyError: 1
< /code>
for row, value in reader:
print(row, value)
#
# for row, value in reader:
# ^^^^^^^^^^
# ValueError: too many values to unpack (expected 2)
< /code>
Как получить доступ к конкретным ключам или значениям для словари из файла CSV?>
Подробнее здесь: https://stackoverflow.com/questions/797 ... -csv-files
Как получить доступ к конкретным ключам и значениям из файлов CSV? ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как получить доступ к ключам и значениям многомерного массива? [дублировать]
Anonymous » » в форуме Php - 0 Ответы
- 8 Просмотры
-
Последнее сообщение Anonymous
-