You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何移除Lambda处理CSV后返回JSON的前导多余空格?

移除CSV转JSON中的前导多余空格解决方案

针对你遇到的问题——需要移除输出JSON中的前导多余空格(保留字段内部正常空格),以下是几种针对性的解决方法:

1. 清理DataFrame列名的前导/尾随空格

如果原始CSV的列名本身带有前导空格(比如 Ticker),会导致生成的JSON键名带空格。读取CSV后直接清理列名即可:

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)
    
    # 去除列名的前导和尾随空格
    raw_df.columns = raw_df.columns.str.strip()
    
    df_json = raw_df.to_json(orient="records")
    parsed = json.loads(df_json)

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

2. 清理字符串字段值的前导空格(保留内部空格)

如果CSV中字符串类型的字段值带有前导空格(比如 ABC Company),需要仅去除前导空格、保留字段内部的正常空格,可对字符串列做针对性处理:

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)
    
    # 筛选所有字符串类型的列
    string_cols = raw_df.select_dtypes(include=['object']).columns
    # 仅去除每个字段值的前导空格
    raw_df[string_cols] = raw_df[string_cols].apply(lambda col: col.str.lstrip())
    
    df_json = raw_df.to_json(orient="records")
    parsed = json.loads(df_json)

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

3. 生成紧凑格式的JSON(避免多余空格)

如果希望输出的JSON完全紧凑(无键值对之间的多余空格),可以直接在to_json中指定分隔符,省去重复解析再序列化的步骤,提升效率:

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)
    
    # 按需添加列名或字段值的清理逻辑
    
    # 直接生成无多余空格的紧凑JSON
    compact_json = raw_df.to_json(orient="records", separators=(',', ':'))

    return {
      "statusCode": 200,
      'body': compact_json
    }

内容的提问来源于stack exchange,提问作者bob

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 11:53:19