Ошибка: индексы списка должны быть целыми числами или слайсами, а не str - PullRequest
0 голосов
/ 17 октября 2019

Мой фрейм данных выглядит следующим образом:

enter image description here

У меня есть таблица Example.xlsx с несколькими страницами:

enter image description here

Цель состоит в том, чтобы перебрать столбец daraframe StateID и сопоставить его с именем листа Excel, и, если оно совпадает, записать в ячейку B14 значение premiumtest

wb = openpyxl.load_workbook(r'\\username\Python\Treaty Year Report\Example.xlsx')
ws = [sheet.title for sheet in wb.worksheets]
print(ws)


for index, row in df1.iterrows():
    if any(x in 'MTHLY-'+ row['StateID'] for x in ws): 
        ws['B14'] = row[2]

Но я получил ошибку:

  File "x:\Documents\Treaty Year Report\TreatyYearReport3", line 76, in <module>
    ws['B14'] = row[2]
TypeError: list indices must be integers or slices, not str

Так почему я не могу передать ячейку в листе? А если передать индекс, как я могу указать конкретную ячейку?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...