Я могу запросить DynamodB, используя идентификатор с фиксированным значением (300254), используя следующий код:
response = table.query(
KeyConditionExpression=Key('id').eq(300254)
for i in response['Items']:
print(i['id'], ":", i['name'], ":", i['sal'])
Но если я хочу заменить жестко закодированное значение на мой нижеприведенный кадр данных Python (dfnew), как выполнить запрос или сканирование в DynamodB? У dfnew есть 3 поля: id, name, sal и id - это первичный ключ в DynamodB. Возможно ли это?
dfnew = pd.read_csv("C:\\babynames.csv")
response = table.query(KeyConditionExpression=(Key('id').eq(dfnew.id))
Выше строка кода не выполняется, его сбой. Также не дает правильной ошибки. Это правильный путь "dfnew.id" или требуется какое-либо изменение?
response = table.query(KeyConditionExpression=(Key('id').eq(dfnew.iloc[0]['id'])))
Пробовал также с помощью строки выше, но получая ошибку ниже. Любая помощь о том, как этого добиться?
TypeError: cannot do positional indexing on <class 'pandas.core.indexes.range.RangeIndex'> with these indexers [id] of <class 'str'>
Заранее спасибо.