Как записать в файл XLSX в Google Cloud Storage - PullRequest
0 голосов
/ 15 февраля 2019

Как я могу записать в файл xlsx в Google Cloud Storage, используя python?Я делаю это прямо сейчас, но не знаю, как отформатировать мою запись (), чтобы добавить в ряд.Я хочу добавить строку ['Sally', 'Ja', 15] в мой файл names.xlsx в облачном хранилище.

import cloudstorage

file = cloudstorage.open('/master/names.xlsx')
file.write(##what goes in here?##)
filehandle.close()

Ответы [ 2 ]

0 голосов
/ 18 февраля 2019

Как упомянул Travis, вы не можете добавить, но переписать весь объект, например, ниже (при условии, что text.csv - ваш существующий файл), вы можете прочитать файл в dataframe, добавить некоторые данные и скопировать их, используя команду gsutil дляGCP ведро.Это заменит предыдущую версию text.csv.

  import pandas as pd
  data = [['Alex','Feb',10],['Bob','jan',12]]
  df = pd.DataFrame(data,columns=['Name','Month','Age'])
  print df

Вывод

       Name Month  Age
    0  Alex   Feb   10
    1   Bob   jan   12

Добавить строку

  row = ['Sally','Oct',15]
  df.loc[len(df)] = row
  print df

вывод

    Name Month  Age
0   Alex   Feb   10
1    Bob   jan   12
2  Sally   Oct   15

запись / копирование в GCP Bucket с использованием gsutil

 df.to_csv('text.csv', index = False)
!gsutil cp 'text.csv' 'gs://BucketName/folderName/'
0 голосов
/ 15 февраля 2019

Объекты в Google Cloud Storage являются неизменяемыми, поэтому вы не можете добавить новую строку к существующему объекту.Вам нужно будет переписать весь объект.

Вы можете получить ограниченную функциональность "добавления", используя compose API , но это только добавляет байты к концу объекта и добавляет байты кконец объекта, и я не верю, что это может быть легко достигнуто для данных XLSX.

...