我正在嘗試使用 pandas 讀取一些檔案s3Hook來獲取密鑰。我能夠獲得密鑰,但是我不確定如何讓 pandas 找到檔案,當我運行以下命令時,我得到:
無此檔案或目錄:
這是我的代碼:
def transform_pages(company, **context):
ds = context.get("execution_date").strftime('%Y-%m-%d')
s3 = S3Hook('aws_default')
s3_conn = s3.get_conn()
keys = s3.list_keys(bucket_name=Variable.get('s3_bucket'),
prefix=f'S/{company}/pages/date={ds}/',
delimiter="/")
prefix = f'S/{company}/pages/date={ds}/'
logging.info(f'keys from function: {keys}')
""" transforming pages and loading data back to S3 """
for file in keys:
df = pd.read_csv(file, sep='\t', skiprows=1, header=None)
uj5u.com熱心網友回復:
您正在尋找的格式如下:
filepath = f"s3://{bucket_name}/{key}"
因此,在您的特定情況下,例如:
for file in keys:
filepath = f"s3://s3_bucket/{file}"
df = pd.read_csv(filepath, sep='\t', skiprows=1, header=None)
只需確保您已s3fs安裝 ( pip install s3fs)。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/408995.html
標籤:
