Не уверен, почему вы должны составлять списки для записей записей, то, как вы читаете записи из него, неверно.
например:
scores = (
['ankit', 1000, 1264, 4125],
['rahul', 100, 1452, 4578],
['priya', 300, 123, 1452],
['harshita', 50, 412,458],
)
Следующее выдает ошибку:
for name, score in scores:
print(name, score)
ValueError Traceback (most recent call last)
<ipython-input-4-53788305b060> in <module>
----> 1 for name, score in scores:
2 print(name, score)
ValueError: too many values to unpack (expected 2)
Вместо этого вы можете сделать это следующим образом:
row = 12
col = 0
for entry in scores:
name = entry[0]
score = sum(entry[1:])
worksheet.write(row, col, name)
worksheet.write(row, col + 1, score)
row += 1
Я написал вышеприведенный код для хранения суммы баллов в одном столбце, если вы хотите индивидуальные баллы быть разделенным и сохраненным в одной строке, тогда этого будет недостаточно. Дайте мне знать библиотеку, которую вы используете для этого, так что я могу попытаться помочь вам в этом.
Вот код помощник! Надеюсь, это поможет!
import xlsxwriter as xls
scores = (
['ankit', 1000, 1264, 4125],
['rahul', 100, 1452, 4578],
['priya', 300, 123, 1452],
['harshita', 50, 412, 458],
)
# Create an new Excel file and add a worksheet.
workbook = xls.Workbook('merge_scores.xlsx')
worksheet = workbook.add_worksheet()
center = workbook.add_format({'align': 'center'})
#First write the headers separately merging the cell ranges required for the scores
worksheet.write(0, 0, "Name")
worksheet.merge_range(0, 1, 0, 3, "Scores", cell_format=center)
#Starting at 2nd row whose index will be one to put the actual data in
row = 1
col = 0
for entry in scores:
worksheet.write_row(row, col, entry)
row += 1
workbook.close()
Для дополнительного форматирования ячеек вы можете взглянуть на следующие ссылки: https://xlsxwriter.readthedocs.io/example_rich_strings.html
https://xlsxwriter.readthedocs.io/format.html