import boto3
from boto3.dynamodb.types import TypeDeserializer
import panads as pd
connection = boto3.client(
'dynamodb',
**config # This contains my credentials
)
result = connection.execute_statement(Statement=query)
records = []
if result['Items']:
# TODO: Can parsing be optimized?
records.extend(parse_records(result['Items']))
while 'LastEvaluatedKey' in result:
result = connection.execute_statement(
Statement=query,
NextToken=result['NextToken']
)
records.extend(parse_records(result['Items']))
df = pd.json_normalize(records)
def parse_records(records: List[Dict]) -> Dict:
"""
Parses the records returned by the PartiQL query execution.
Args:
records (List[Dict]): A list of records returned by the PartiQL query execution.
Returns:
Dict: A dictionary containing the parsed record.
"""
deserializer = TypeDeserializer()
parsed_records = []
for record in records:
parsed_records.append({k: deserializer.deserialize(v) for k,v in record.items()})
return parsed_records
Можно ли мне избежать циклического перебора всех записей для их анализа? Я хочу оптимизировать эту часть программы. Я открыт для других подходов, если у меня есть возможность выполнять запросы PartQL.
Я выполняю запросы PartiQL к своим таблицам DynamoDB с помощью boto3 и хочу иметь возможность анализировать эти записи в табличный формат ([code]pandas[/code] DataFrame). Вот как выглядит мой код: [code]import boto3 from boto3.dynamodb.types import TypeDeserializer import panads as pd
connection = boto3.client( 'dynamodb', **config # This contains my credentials )
result = connection.execute_statement(Statement=query)
records = [] if result['Items']: # TODO: Can parsing be optimized? records.extend(parse_records(result['Items']))
while 'LastEvaluatedKey' in result: result = connection.execute_statement( Statement=query, NextToken=result['NextToken'] ) records.extend(parse_records(result['Items']))
df = pd.json_normalize(records)
def parse_records(records: List[Dict]) -> Dict: """ Parses the records returned by the PartiQL query execution.
Args: records (List[Dict]): A list of records returned by the PartiQL query execution.
Returns: Dict: A dictionary containing the parsed record. """ deserializer = TypeDeserializer()
parsed_records = [] for record in records: parsed_records.append({k: deserializer.deserialize(v) for k,v in record.items()})
return parsed_records [/code] Можно ли мне избежать циклического перебора всех записей для их анализа? Я хочу оптимизировать эту часть программы. Я открыт для других подходов, если у меня есть возможность выполнять запросы PartQL.
Когда я пытаюсь подключиться к dynamodb с помощью kitar/laravel-dynamodb, он всегда возвращает мне «Вызов функции-члена подготовки() по нулевому значению». Что я должен делать? И как это исправить?
Две таблицы, s и c , находятся в отношениях с многими ко многим с CS в качестве средней таблицы. Каждая таблица имеет первичный ключ с именем идентификатором , а таблицы CS и c имеют столбец для удаленного (0 означает не удаляется, 1 означает...
Две таблицы, s и c , находятся в отношениях с многими ко многим с CS в качестве средней таблицы. Каждая таблица имеет первичный ключ с именем идентификатором , а таблицы CS и c имеют столбец для удаленного (0 означает не удаляется, 1 означает...
Две таблицы, s и c , находятся в отношениях с многими ко многим с CS в качестве средней таблицы. Каждая таблица имеет первичный ключ с именем идентификатором , а таблицы CS и c имеют столбец для удаленного (0 означает не удаляется, 1 означает...
Я работаю над проектом по языковой обработке, моя задача сейчас — проанализировать XML-файл, чтобы вернуть аннотацию. я начну с annotation.py:
import xml.etree.ElementTree as ET
import json
Classe entité défini par un nom et par un type d'entité...