お世話になります。
DynamoDBテーブルへの登録順番が
「0→1→2→5→3→4→6→11→10→8→7→9」
となります。
「emp_data」の後の数字の順番ではないのでしょうか?
また、CSVにはタイトル行が含まれておりますので、2行目から取得する場合、
どのようなコードを追加したらよいのでしょうか?
よろしくお願いいたします。
import boto3
S3、DynamoDBテーブルへの接続準備
s3_client = boto3.client("s3")
dynamodb = boto3.resource("dynamodb")
table = dynamodb.Table("test-jsonlog")
def lambda_handler(event, context):
# S3情報をeventから取得 bucket_name = event['Records'][0]['s3']['bucket']['name'] s3_file_name = event['Records'][0]['s3']['object']['key'] # オブジェクト(CSVファイル)を取得して行ごとにデータを取得 resp = s3_client.get_object(Bucket=bucket_name,Key=s3_file_name) data = resp['Body'].read().decode("UTF-8") employees = data.split("\n") # 取得したデータの値を1つずつカンマで分けてテーブルに登録 for emp in employees: print(emp) emp_data = emp.split(",") try: table.put_item( Item = { "Agent" : emp_data[0], "Five" : emp_data[1], "Four" : emp_data[2], "Three" : emp_data[3], "Two" : emp_data[4], "One" : emp_data[5], "Duration" : emp_data[6], "out" : emp_data[7], "in" : emp_data[8], "profile" : emp_data[9], "Last" : emp_data[10], "First" : emp_data[11] } ) except Exception as e: print(e)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。