Форматирование вывода JSON из лямбды, который читает CSV из S3Python

Программы на Python
Ответить
Anonymous
 Форматирование вывода JSON из лямбды, который читает CSV из S3

Сообщение Anonymous »

У меня есть лямбда, которая читает CSV из корзины:

Код: Выделить всё

import boto3
import csv
import json

BUCKET_NAME = 'olaptrader-products'
OBJECT_NAME = 'bats.csv'
LAMBDA_LOCAL_TMP_FILE = '/tmp/bats.csv'

def lambda_handler(event, context):
s3 = boto3.client('s3')
s3.download_file(BUCKET_NAME, OBJECT_NAME, LAMBDA_LOCAL_TMP_FILE)

with open(LAMBDA_LOCAL_TMP_FILE,'r') as infile:
reader = list(csv.reader(infile))

return {
'body': json.dumps(reader)
}
CSV в моей корзине выглядит так:

Код: Выделить всё

Ticker  Exchange    Date        Open    High    Low    Close    Volume
6A      BATS        12/2/2021   0.9     0.95    0.83    0.95    1200
6B      BATS        12/3/2021   1       1.3     0.9     1.2     1500
6C      BATS        12/4/2021   1.2     1.3     1.1     1.1     1300
Мой вывод шлюза API, который вызывает эту лямбду, выглядит следующим образом:

Код: Выделить всё

[["Ticker", "Exchange", "Date", "Open", "High", "Low", "Close", "Volume"], ["6A", "BATS", "12/2/2021", "0.9", "0.95", "0.83", "0.95", "1200"], ["6B", "BATS", "12/3/2021", "1", "1.3", "0.9", "1.2", "1500"], ["6C", "BATS", "12/4/2021", "1.2", "1.3", "1.1", "1.1", "1300"]]
Однако я хочу, чтобы результат выглядел так:

Код: Выделить всё

[{"Ticker":"6A","Exchange":"BATS","Date":"12/2/2021","Open":0.9,"High":0.95,"Low":0.83,"Close":0.95,"volume":1200},{"Ticker":"6B","Exchange":"BATS","Date":"12/3/2021","Open":1,"High":1.3,"Low":0.9,"Close":1.2,"volume":1500},{"Ticker":"6C","Exchange":"BATS","Date":"12/4/2021","Open":1.2,"High":1.3,"Low":1.1,"Close":1.1,"volume":1300}]
Может ли кто-нибудь посоветовать мне, как изменить лямбду, чтобы добиться этого?
Кроме того, я не знаю, почему существует этот «LAMBDA_LOCAL_TMP_FILE». Я мне это не нужно (взято с какого-то другого сайта). Можете ли вы сказать мне, как удалить это, чтобы лямбда работала?
Большое спасибо.

Подробнее здесь: https://stackoverflow.com/questions/758 ... sv-from-s3
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»