Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 将多个文件从Google Cloud Bucket导入Datalab实例_Python 3.x_Pandas_Google Cloud Platform_Google Cloud Storage_Google Cloud Datalab - Fatal编程技术网

Python 3.x 将多个文件从Google Cloud Bucket导入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

我在谷歌云上设置了一个包含几百个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.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()