Считайте файл CSV в Datalab из Google Cloud Storage и преобразуйте его в файл данных pandas
Я пытаюсь прочитать CSV-файл сохранить в GS для данных для анализа
Я следовал следующие шаги без успеха
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
Как я могу прочитать мой файл для анализа сделать это?
Спасибо
3 ответа
%%gcs возвращает байтовые объекты. Чтобы прочитать его, используйте BytesIO из io (python 3)
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-файл разделен запятыми, нет необходимости указывать
Вам просто нужно использовать объект uri
Свойство, чтобы получить фактический путь:
uri = data_csv.uri
%%gcs read --object $uri --variable data
Первая часть вашего кода не работает, потому что pandas ожидает, что данные будут находиться в локальной файловой системе, но вы используете корзину GCS, которая находится в облаке.
Это то, что работает для меня
df = pd.read_csv(BytesIO(data), encoding='unicode_escape')