>

Python 3.6에는 람다 함수가 있는데 압축 파일로 압축하여 S3에 업로드했습니다 (총 함수 폴더 크기는 180MB입니다). zip 안에는 람다 핸들러 함수에서 읽고 싶은 1 csv 파일 ( 'example.csv')이 있습니다.

이 파일을 읽는 방법? 나는 시도했다 :

filename = 'example.csv'
filepath = os.environ['LAMBDA_TASK_ROOT'] + '/' + filename
df = pd.read_csv(filepath, dtype=str)
# Failed with OSError: Initializing from file failed

람다 함수 폴더의 내용 예 :

root:
 -- lambda_function.py
 -- example.csv
 -- bunch of library folders

CSV 파일의 내용 :

 id | value | something | else
-----------------------------------
  0  |  lol  |    ok     |  bye
  1  |  omg  |    foo    |  bar
  2  |  thx  |    baz    |  qux

CSV 파일의 경로는 무엇입니까?

  • 답변 # 1

    boto3을 사용하고 있다고 가정하고 문서에는 download_file 가 있습니다.  로컬에서 파일을 다운로드 할 수있는 방법입니다.

    import boto3
    import zipfile
    def lambda_handler(event, context):
        s3 = boto3.resource('s3')
        s3.Bucket('<first_bucket>').download_file('<file_name>.zip', '/tmp/<file_name>.zip')
        # put unzip code
        zip_ref = zipfile.ZipFile('/tmp/<file_name>.zip', 'r')
        zip_ref.extractall(directory_to_extract_to)
        zip_ref.close()
        #handle CSV file reading and rest of operation
    
    

    위의 코드 뒤에 csv 처리 코드를 넣어 필요한 작업을 읽고 수행 할 수 있습니다.

  • 이전 r 코드 - 열 이름 목록을 사용하여 group_by하고 요약하는 방법은 무엇입니까?
  • 다음 swift - RxSwift 체인 요청