将多个文件从 Google Cloud Storage 加载到单个 Pandas Dataframe
Loading multiple files from Google Cloud Storage into a single Pandas Dataframe
我一直在尝试编写一个函数,将多个文件从 Google Cloud Storage 存储桶加载到单个 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
当我尝试 运行 时,它说:
undefined variable referenced in command line: $fp
当然,这里有一个例子:
https://colab.research.google.com/notebook#fileId=0B7I8C_4vGdF6Ynl1X25iTHE4MGc
此笔记本显示以下内容:
- 创建两个随机 CSV
- 将两个 CSV 文件上传到 GCS 存储桶
- 使用 GCS Python API 迭代存储桶中的文件。而且,
- 将每个文件合并为一个 Pandas DataFrame。
我一直在尝试编写一个函数,将多个文件从 Google Cloud Storage 存储桶加载到单个 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
当我尝试 运行 时,它说:
undefined variable referenced in command line: $fp
当然,这里有一个例子: https://colab.research.google.com/notebook#fileId=0B7I8C_4vGdF6Ynl1X25iTHE4MGc
此笔记本显示以下内容:
- 创建两个随机 CSV
- 将两个 CSV 文件上传到 GCS 存储桶
- 使用 GCS Python API 迭代存储桶中的文件。而且,
- 将每个文件合并为一个 Pandas DataFrame。