File size: 723 Bytes
cea4a4b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
import sys

sys.path.append("./.")

from src.utils.s3 import s3_connect
import pandas as pd
from io import StringIO

import json

from src.utils import *


def save_csv_to_s3(
    df: pd.DataFrame, path: str, client=s3_connect(), bucket: str = "lebesgue-common-bucket", *args, **kwargs
):

    csv_buffer = StringIO()
    df.to_csv(csv_buffer, index=False, *args, **kwargs)
    key = path

    client.put_object(Bucket=bucket, Key=key, Body=csv_buffer.getvalue())

    return


def save_csv(
    df: pd.DataFrame,
    path: str,
    s3: bool = False,
    pd_args: dict = {},
    s3_args: dict = {},
):
    if s3:
        save_csv_to_s3(df=df, path=path, **s3_args)
    else:
        df.to_csv(path, index=False, **pd_args)