从 Google Cloud Storage 将 CSV 文件读取到 Datalab 并转换为 pandas dataframe
Read CSV file to Datalab from Google Cloud Storage and convert to pandas dataframe
我正在尝试将保存在 gs 中的 csv 文件读取到数据框以供分析
我已经按照以下步骤操作但没有成功
mybucket = storage.Bucket('bucket-name')
data_csv = mybucket.object('data.csv')
df = pd.read_csv(data_csv)
这不起作用,因为 data_csv 不是 pd.read_csv 预期的路径
我也试过了
%%gcs read --object $data_csv --variable data
#result: %gcs: error: unrecognized arguments: Cloud Storage Object gs://path/to/file.csv
如何读取我的文件进行分析?
谢谢
你只需要使用对象的 uri
属性 来获取实际路径:
uri = data_csv.uri
%%gcs read --object $uri --variable data
您的代码的第一部分不起作用,因为 pandas 期望数据位于本地文件系统中,但您使用的是位于云中的 GCS 存储桶。
%%gcs returns 字节对象。要读取它,请使用 io (python 3)
中的 BytesIO
mybucket = storage.Bucket('bucket-name')
data_csv = mybucket.object('data.csv')
%%gcs read --object $data_csv --variable data
df = pd.read_csv(BytesIO(data_csv), sep = ';')
如果您的 csv 文件以逗号分隔,则无需指定 ,这是默认设置
在此处阅读有关 io 库和包的更多信息:Core tools for working with streams
这对我有用
df = pd.read_csv(BytesIO(data), encoding='unicode_escape')
我正在尝试将保存在 gs 中的 csv 文件读取到数据框以供分析
我已经按照以下步骤操作但没有成功
mybucket = storage.Bucket('bucket-name')
data_csv = mybucket.object('data.csv')
df = pd.read_csv(data_csv)
这不起作用,因为 data_csv 不是 pd.read_csv 预期的路径 我也试过了
%%gcs read --object $data_csv --variable data
#result: %gcs: error: unrecognized arguments: Cloud Storage Object gs://path/to/file.csv
如何读取我的文件进行分析?
谢谢
你只需要使用对象的 uri
属性 来获取实际路径:
uri = data_csv.uri
%%gcs read --object $uri --variable data
您的代码的第一部分不起作用,因为 pandas 期望数据位于本地文件系统中,但您使用的是位于云中的 GCS 存储桶。
%%gcs returns 字节对象。要读取它,请使用 io (python 3)
中的 BytesIOmybucket = storage.Bucket('bucket-name')
data_csv = mybucket.object('data.csv')
%%gcs read --object $data_csv --variable data
df = pd.read_csv(BytesIO(data_csv), sep = ';')
如果您的 csv 文件以逗号分隔,则无需指定
这对我有用
df = pd.read_csv(BytesIO(data), encoding='unicode_escape')