Я пытаюсь создать словарь из двух столбцов в файле Excel. Мой код выглядит следующим образом:
import openpyxl
from openpyxl import load_workbook
wb = load_workbook('country_data.xlsx')
sheet = wb["List of countries"]
for i in range(1, 198):
list1 = list(sheet.cell(row=i, column=1).value)
list2 = list(sheet.cell(row=i, column=3).value)
dictionary = dict(zip(list1,list2))
print(dictionary)
Я исправил исходную ошибку (забыл, что мне не нужно было начинать мои столбцы с нуля), но теперь, когда я печатаю словарь или списки, кажется, что каждый из них потянул случайные значения. Я пытаюсь извлечь значения из столбца 1 и столбца 3 моего файла excel.
Мои столбцы выглядят так:
Col1 Col3
ger Germany
eng England
fra France
spa Spain
etc etc
Тем не менее, когда я отправляюсь печатать словарь, он, похоже, вытащил случайные буквы из неизвестных столбцов в моем файле excel и только печатает это:
{'z': 'a', 'w': 'f', 'e': 'r'}
Как я могу исправить эту ошибку? Я пытаюсь сделать column1 ключевым для моего словаря и столбца 3 моего значения.
Похоже, вы используете column=0
, однако, поскольку он считается от 1, то не существует. Попробуйте это вместо этого:
list1 = list(sheet.cell(row=i, column=1).value)
list2 = list(sheet.cell(row=i, column=3).value)
Решила мою проблему! Мне пришлось создавать временные переменные, которые равнялись ячейкам листа, которые я искал в моем цикле for. После выполнения каждой из этих строк я добавил эту переменную temp в свой список. По завершении цикла for я закрепил свой словарь, напечатал его, и все было там.
column=0
одному из вызовов. Если это подсчет 1, то должен бытьcolumn=1
?