Мой фрейм данных выглядит следующим образом:
![enter image description here](https://i.stack.imgur.com/p5blL.png)
У меня есть таблица Example.xlsx с несколькими страницами:
![enter image description here](https://i.stack.imgur.com/OU2dq.png)
Цель состоит в том, чтобы перебрать столбец 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
Так почему я не могу передать ячейку в листе? А если передать индекс, как я могу указать конкретную ячейку?