如何从 lambda 中删除 json 输出中的额外空间

问题描述 投票:0回答:0

我在 S3 存储桶中有一个 lambda 读取 csv。 api 网关调用 lambda。 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

这是我的代码:

import json
import awswrangler as wr

BUCKET_NAME = 'olaptrader-products'
DIRECTORY_PATH = '1'
FULL_PATH = f"s3://{BUCKET_NAME}/{DIRECTORY_PATH}"

def lambda_handler(event, context):

    raw_df = wr.s3.read_csv(path=FULL_PATH, path_suffix=['.csv'], use_threads=True)
    df = raw_df.to_json(orient="records")
    parsed = json.loads(df)

    return {
      "statusCode": 200,
      'body': json.dumps(parsed)
    }

我的输出是这样的:

[{"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.0, "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}]

我如何摆脱那些多余的空间?我在 df.to_json 中尝试过“skipinitialspace”,但这显然不适用于 json,仅适用于 csv 等,它没有用。 我不想去掉所有空格,因为在某些情况下,我的公司名称中有一个空格,我想保留它。只需要摆脱这些领先的空间。 谢谢

python pandas aws-lambda aws-api-gateway aws-data-wrangler
© www.soinside.com 2019 - 2024. All rights reserved.