API Python з відкритим кодом для Google Таблиць
Створюйте, діліться, аналізуйте та змінюйте файли електронних таблиць Excel XML за допомогою бібліотеки Python з відкритим кодом.
Gspread — це реалізація Python з відкритим кодом для Google Таблиць. Бібліотека дозволяє програмістам створювати, відкривати та змінювати файл електронної таблиці з власних програм Python. З кожним днем все більше людей обирають такі онлайн-сервіси, як Google Таблиці.
Кілька важливих функцій повністю підтримуються бібліотекою Gspread, як-от створення нової електронної таблиці, вибір електронної таблиці та надання спільного доступу до неї, створення робочого аркуша, видалення робочого аркуша, отримання значення клітинки, отримання значень із стовпця та рядка аркуша, пошук. клітинка, оновлення значення клітинки, отримання значення з клітинки у вигляді списку та багато іншого.
Початок роботи з Gspread
Для безперебійної роботи Gspread у вашій системі має бути встановлено Python 3.6 або новішої версії. Рекомендований спосіб встановлення через PIP. Будь ласка, використовуйте наступну команду.
Встановіть Gspread за допомогою команди PIP
pip install gspread
Створюйте та діліться електронною таблицею за допомогою бібліотеки Python
Gspread API надає функції для створення та модифікації нових електронних таблиць. Це дозволяє програмістам створити порожню електронну таблицю у своїх власних програмах Python за допомогою лише кількох команд. Будь ласка, пам’ятайте, що нова електронна таблиця буде видима лише для облікового запису сценарію. Щоб отримати доступ до новоствореної електронної таблиці, потрібно надати спільний доступ до електронної пошти. Ви можете легко створити робочий аркуш у ньому.
Створити таблицю та додати робочий аркуш до неї через бібліотеку Python
sh = gc.create('A new spreadsheet')
# Add a new worksheet to the list of current sheets
try:
sheet = spreadsheet.worksheet(tab_label)
except gspread.exceptions.WorksheetNotFound:
spreadsheet.add_worksheet( tab_label, 1, len(col_defs) )
sheet = spreadsheet.worksheet( tab_label )
Відкриття електронної таблиці через Python
Бібліотека електронних таблиць з відкритим вихідним кодом Gspread дозволяє розробникам програмного забезпечення перетворювати файли CSV у формат Excel 2003 XML за допомогою всього кількох рядків коду. Перш за все, вам потрібно завантажити файл CSV із сервера для синтаксичного аналізу та перенести дані з парсера на записувач і змінити тип записувача на XML. Після цього збережіть файл із вказаною назвою та вказаною ціллю.
Відкриваємо Existing Spreadsheet через Бібліотека Python
# You can open a spreadsheet by its title as it appears in Google Docs
sh = gc.open('My poor gym results') # <-- Look ma, no keys!
# If you want to be specific, use a key (which can be extracted from the spreadsheet's url)
sht1 = gc.open_by_key('0BmgG6nO_6dprdS1MN3d3MkdPa142WFRrdnRRUWl1UFE')
# Or, if you feel really lazy to extract that key, paste the entire url
sht2 = gc.open_by_url('https://docs.google.com/spreadsheet/ccc?key=0Bm...FE&hl')
Проаналізуйте XML-файл Excel 2003
Бібліотека Gspread дає розробникам можливість відкривати доступну електронну таблицю, надаючи її назву, як вона відображається в Документах Google. Щоб бути точним, вам потрібно надати ключ, який можна взяти з URL-адреси електронної таблиці. Ви також можете надати повну URL-адресу, якщо вам важко видобути ключ. Ви також можете вибрати певний аркуш або список усіх доступних аркушів.
Робота з клітинками та рядками електронної таблиці
Дуже поширеною практикою є копіювання даних з однієї чи кількох клітинок аркуша в інші. Gspread API забезпечує повну підтримку маніпулювання даними клітинки. Ви можете легко отримати значення з клітинки або з рядків і стовпців електронної таблиці. API також надає функції отримання всіх значень із аркуша у вигляді списку списків. Ви також можете шукати клітинку з точним значенням, а також знаходити еквівалент клітинки з регулярним виразом.
Застосувати базове форматування вкладок Spreadsheet через бібліотеку Python
# Set text format to bold:
worksheet.format('A1:B1', {'textFormat': {'bold': True}})
# Color the background of a Cell range in black
# change horizontal alignment, text color and font size
worksheet.format("A2:B2", {
"backgroundColor": {
"red": 0.0,
"green": 0.0,
"blue": 0.0
},
"horizontalAlignment": "CENTER",
"textFormat": {
"foregroundColor": {
"red": 1.0,
"green": 1.0,
"blue": 1.0
},
"fontSize": 12,
"bold": True
}
})