AWS S3
에 존재하는 엑셀 파일을 로컬 환경python
코드에서 읽어오기
AWS S3 Bucket
의 경우 Public
접근이 가능하지 않도록하는 설정이 기본 값으로 사용된다.
이를 해제하기 위해 버킷 설정에서 퍼블릭 액세스 차단 편집(버킷 설정) 부분의 모든 퍼블릭 액세스 차단을 해제한다.
이후, 버킷 정책 부분에서 아래의 json
내용을 복사해서 붙여넣는다.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "PublicRead",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::bucketname/*"
}
]
}
위 내용은 bucketname
에 해당하는 모든 파일에 대해 읽기 작업을 모두에게 허락함을 의미한다.
bucketname
부분에 본인의 bucket
이름을 넣으면 된다.
import pandas as pd
try:
df = pd.read_excel('file 주소')
print(df)
except Exception as e:
print(f"Error occurred while reading file from S3: {e}")
코드는 매우 간단하다.
위의 권한 설정이 완료된 경우, pandas
라이브러리를 불러온 후, read_excel()
함수를 이용해 객체를 불러올 수 있다.