将多个文件从Google云端存储加载到一个Pandas Dataframe中

问题描述 投票:3回答:1

我一直在尝试编写一个功能,将多个文件从Google云存储桶加载到单个Pandas Dataframe中,但我似乎无法使其正常工作。

import pandas as pd
from google.datalab import storage
from io import BytesIO


def gcs_loader(bucket_name, prefix):
  bucket = storage.Bucket(bucket_name)
  df = pd.DataFrame()
  for shard in bucket.objects(prefix=prefix):
    fp = shard.uri
    %gcs read -o $fp -v tmp
    df.append(read_csv(BytesIO(tmp))
  return df

当我尝试运行时说:

命令行中引用的未定义变量:$ fp

pandas csv dataframe google-cloud-storage google-cloud-datalab
1个回答
4
投票

当然,这是一个例子:https://colab.research.google.com/notebook#fileId=0B7I8C_4vGdF6Ynl1X25iTHE4MGc

此笔记本显示以下内容:

  1. 创建两个随机CSV
  2. 将两个CSV文件上载到GCS存储桶
  3. 使用GCS Python API迭代存储桶中的文件。和,
  4. 将每个文件合并为一个Pandas DataFrame。
© www.soinside.com 2019 - 2024. All rights reserved.