使用Google Datalab:将csv写入存储

时间:2018-06-27 09:20:05

标签: google-cloud-storage google-cloud-datalab

我正在尝试使用google datalab,但无法将csv很好地写入GCS(Google云存储)。

import pandas as pd
from pandas import DataFrame
from io import BytesIO
df = DataFrame({"a":[1,2],"b":1})
print(df)
>>    | a | b
>>  0 | 1 | 1
>>  1 | 2 | 1

在stackoverflow中,我找到了此命令

%storage write --object gs://my-bucket/data/test.csv --variable df

但是,如果我使用此命令,则无法很好地读取数据。因为数据不是用逗号分隔(用空格分隔)。它包括索引。

%storage read --object gs://my-bucket/data/test.csv --variable test_file

df2 = pd.read_csv(BytesIO(test_file))
print(df2)
>>    | a b
>>  0 | 0 1 1
>>  1 | 1 2 1

我想写成没有索引的csv。(例如df.to_csv('test_file.csv',index=False)

我该怎么办?请指教。

1 个答案:

答案 0 :(得分:3)

您可以尝试以下吗?

import pandas as pd
from io import BytesIO
df = pd.DataFrame({"a":[1,2],"b":1})
df.to_csv('text.csv', index = False)
!gsutil cp 'text.csv' 'gs://path-to-your-bucket/test.csv'
%gcs read --object gs://path-to-your-bucket/test.csv --variable test_file
df2 = pd.read_csv(BytesIO(test_file))