Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import json
- import requests
- import pandas as pd
- import boto3
- import awswrangler as wr
- from pandas import json_normalize
- from io import StringIO, BytesIO
- import json
- from datetime import date
- def day_to_api(day):
- day_to_call = '2023-07-'+ str(day).zfill(2)
- api_url = f'https://cdn.jsdelivr.net/gh/fawazahmed0/currency-api@1/{day_to_call}/currencies/usd.json'
- response = requests.get(api_url).json()
- dct = response['usd']
- dct['date'] = response['date']
- l = ['date','usd','sgd','cny','btc','myr']
- new_dict = dict( ((key, dct[key]) for key in l) )
- return json_normalize(new_dict)
- def lambda_handler(event, context):
- df = day_to_api('7')
- my_session = boto3.Session()
- raw_s3_bucket = 'andrewawsbucket'
- raw_path_dir = 'data/testparquetdataloader/'
- raw_path = f"s3://{raw_s3_bucket}/{raw_path_dir}"
- wr.s3.to_parquet(
- df=df,
- path=raw_path,
- boto3_session=my_session,
- dataset=True,
- partition_cols=["date"],
- mode="append")
- df = wr.s3.read_parquet(raw_path, boto3_session=my_session,dataset=True)
- print(df)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement