Operacje na arkuszach kalkulacyjnych Google za pomocą Gspread

Do operowania na arkuszach kalkulacyjnych Excela mamy xlwd i xlrd. Do obsługi arkuszy kalkulacyjnych na Dysku Google (Google Docs) mamy gspread. Oba pakiety oferują podobne funkcjonalności dla obsługiwanych arkuszy. Gspread ma dodatkową zaletę - działa na Pythonie 3.

Oto przykład wykorzystania gspread do pobierania i wstawiania danych z arkusza:
import gspread

gc = gspread.login('LOGIN', 'PASSWORD')

sheet = gc.open_by_key('SHEET_KEY')
worksheet = sheet.worksheet("Linear function") # worksheet name

x_label = worksheet.acell('A1').value
y_label = worksheet.acell('B1').value
print(x_label, y_label)

x_cells = worksheet.range('A2:A20')
print(x_cells)

z_cells = worksheet.range('C2:C20')

for cell in z_cells:
    cell.value = '=A%d * 10' % cell.row

worksheet.update_cells(z_cells)
Arkusz wykorzystywany do testów przez gspread

Jak widać klient musi zalogować się na Googlowskie konto by zyskać dostęp do arkusza kalkulacyjnego. Gdy już mamy dostęp do arkusza możemy pobierać jedną lub wiele komórek, czy też wstawiać nowe wartości w wybrane komórki. Po arkuszu można nawigować podając numer wiesza i kolumny, lub jak powyżej ich etykiety co wygląda bardziej naturalnie dla arkusza kalkulacyjnego.

xlwd może posłużyć do wygenerowania pliku XLS i udostępnienia go do pobrania. Przydaje się to gdy dział sprzedaży (i jemu podobne) potrzebuje wygenerować sobie jakiś raport, zestawienie z danych w naszej aplikacji. Gspread pasuje do scenariuszy, w których uzupełnia istniejące arkusze o nowe dane (np. te wyliczone w taskach w cronie).

RkBlog

Podstawy Pythona, 6 April 2014

Comment article
Comment article RkBlog main page Search RSS Contact