使用 boto3 将 csv 导出到 dynamodb

Sre*_*eni 2 python amazon-dynamodb boto3

我的要求是我有 1000 万条 csv 记录,我想将 csv 导出到 DynamoDB?任何人都可以请你帮忙。这也可以导出制表符分隔值吗?

提前致谢。

Pra*_*esh 5

将您的 csv 转换为 json 格式并使用AWS BatchWriteItem DynamoDB API

确保在 json 中添加您的主键数据

import csv
import boto3

def convert_csv_to_json_list(file):
   items = []
   with open(file) as csvfile:
      reader = csv.DictReader(csvfile)
      for row in reader:
          data = {}
          data['temp'] = row['temp']
          #populate remaining fields here
          #................
          items.append(data)
   return items

def batch_write(items):
   dynamodb = boto3.resource('dynamodb')
   db = dynamodb.Table('table-name')

   with db.batch_writer() as batch:
      for item in items:
         batch.put_item(Item=item)

if __name__ == '__main__':
   json_data = convert_csv_to_json_list('file')
   batch_write(json_data)
Run Code Online (Sandbox Code Playgroud)