Python 3.x 将多个文件从Google Cloud Bucket导入Datalab实例
我在谷歌云上设置了一个包含几百个json文件的bucket,我正试图在运行python 3的datalab实例中使用它们 因此,我可以使用Python 3.x 将多个文件从Google Cloud Bucket导入Datalab实例,python-3.x,pandas,google-cloud-platform,google-cloud-storage,google-cloud-datalab,Python 3.x,Pandas,Google Cloud Platform,Google Cloud Storage,Google Cloud Datalab,我在谷歌云上设置了一个包含几百个json文件的bucket,我正试图在运行python 3的datalab实例中使用它们 因此,我可以使用 gcs list --objects gs://<BUCKET_NAME> gcs列表——对象gs:// 此外,我可以使用 import google.datalab.storage as storage import pandas as pd from io import BytesIO myBucket = storage.Bu
gcs list --objects gs://<BUCKET_NAME>
gcs列表——对象gs://
此外,我可以使用
import google.datalab.storage as storage
import pandas as pd
from io import BytesIO
myBucket = storage.Bucket('<BUCKET_NAME')
data_csv = myBucket.object('<FILE_NAME.json')
uri = data_csv.uri
%gcs read --object $uri --variable data
df = pd.read_csv(BytesIO(data))
df.head()
导入google.datalab.storage作为存储
作为pd进口熊猫
从io导入字节io
myBucket=storage.Bucket(“这可以使用返回所有匹配文件的迭代器来完成。指定前缀或将其保留为空以匹配Bucket中的所有文件。我使用两个文件做了一个示例countries1.csv
和countries2.csv
:
$ cat countries1.csv
id,country
1,sweden
2,spain
$ cat countries2.csv
id,country
3,italy
4,france
并使用了以下Datalab代码段:
import google.datalab.storage as storage
import pandas as pd
from io import BytesIO
myBucket = storage.Bucket('BUCKET_NAME')
object_list = myBucket.objects(prefix='countries')
df_list = []
for object in object_list:
%gcs read --object $object.uri --variable data
df_list.append(pd.read_csv(BytesIO(data)))
concatenated_df = pd.concat(df_list, ignore_index=True)
concatenated_df.head()
将输出组合的csv:
id country
0 1 sweden
1 2 spain
2 3 italy
3 4 france
考虑到我使用将所有csv文件合并到一个数据帧中,但您可能希望根据使用情况将它们加载到不同的数据帧中。如果您希望检索bucket中的所有文件,请使用以下方法:
object_list = myBucket.objects()
这可以使用返回所有匹配文件的迭代器来完成。指定前缀或将其保留为空以匹配bucket中的所有文件。我使用两个文件做了一个示例countries1.csv
和countries2.csv
:
$ cat countries1.csv
id,country
1,sweden
2,spain
$ cat countries2.csv
id,country
3,italy
4,france
并使用了以下Datalab代码段:
import google.datalab.storage as storage
import pandas as pd
from io import BytesIO
myBucket = storage.Bucket('BUCKET_NAME')
object_list = myBucket.objects(prefix='countries')
df_list = []
for object in object_list:
%gcs read --object $object.uri --variable data
df_list.append(pd.read_csv(BytesIO(data)))
concatenated_df = pd.concat(df_list, ignore_index=True)
concatenated_df.head()
将输出组合的csv:
id country
0 1 sweden
1 2 spain
2 3 italy
3 4 france
考虑到我使用将所有csv文件合并到一个数据帧中,但您可能希望根据使用情况将它们加载到不同的数据帧中。如果您希望检索bucket中的所有文件,请使用以下方法:
object_list = myBucket.objects()