我想将S3中的json文件读入sagemaker笔记本中。
我可以使用此代码使用熊猫来做到这一点,并且可以正常工作:
import json
import pandas as pd
import boto3
prefix_source = 'folder'
s3 = boto3.resource('s3')
my_bucket_source = s3.Bucket('bucket_source')
for obj in my_bucket_source.objects.filter(Prefix=prefix_source):
data_location = 's3://{}/{}'.format(obj.bucket_name, obj.key)
data = pd.read_json(data_location, lines = True )
display(data.head())
但是我不想使用熊猫,我想使用Python
我尝试了这段代码
for obj in my_bucket_source.objects.filter(Prefix=prefix_source):
data_location = 's3://{}/{}'.format(obj.bucket_name, obj.key)
with open(data_location, 'r') as f:
array = json.load(f)
display(array)
我收到此错误:
IOError:[错误2]没有此类文件或目录
答案 0 :(得分:2)
Json.load()需要本地文件系统路径“ / ...”,而不是“ s3://” URI。
在此处查看答案:https://stackoverflow.com/a/47121263