如何解决如果我的csv文件出现在S3上,如何使用nx.read_edgelist创建图?
我在我的一个S3存储桶(s3://abc/FB/train_woheader.csv)中有一个csv文件。 当我写..
g=nx.read_edgelist('s3://abc/FB/train_woheader.csv',delimiter=',',create_using=nx.DiGraph(),nodetype=int,encoding='utf-8')
print(nx.info(g))
说
FileNotFoundError: [Errno 2] No such file or directory: 's3://abc/FB/train_woheader.csv'
但是,如果将csv保存在Jupyter实例中,则可以使用该行创建图形
g=nx.read_edgelist('train_woheader.csv',encoding='utf-8')
csv是一个繁重的文件,因此仅需要保存在S3中。它占用了大量空间,因此无法保存在Jupyter实例中。
对此有任何帮助吗?
解决方法
read_edgelist
期望得到一个文件或文件名为argument。
您可以做的是从s3中读取文件(使用boto3),
使用StringIO并将填充的文件传递给read_edgelis:
import io.StringIO()
with io.StringIO() as f
f.write('data_coming_from_s3_using_boto3')
f.seek(0)
g=nx.read_edgelist(f,delimiter=',',create_using=nx.DiGraph(),nodetype=int,encoding='utf-8')
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。