Как написать скрипт на Python для управления данными электронных таблиц Google - PullRequest
5 голосов
/ 04 марта 2010

Я могу получить фид из электронной таблицы и идентификатора рабочего листа. Я хочу захватить данные из каждой ячейки.

Т.е. я могу получить фид с рабочего листа. Теперь мне нужно получить данные (строковый тип?) Из каждой ячейки для сравнения и для ввода.

Как именно я могу это сделать?

Ответы [ 5 ]

21 голосов
/ 12 декабря 2011

Есть еще одна библиотека электронных таблиц , на которую стоит обратить внимание: gspread. Я использовал библиотеку данных Google, упомянутую выше, и для меня предоставленный API странный. Вам нужно извлечь ключ электронной таблицы, чтобы начать работу с этой электронной таблицей.

Здесь все проще. Если вам нужно извлечь данные из ячейки, вы можете просто открыть рабочий лист и получить значение:

g = gspread.login('your@gmail.com', 'password')

worksheet = g.open('name_of_the_spreadsheet').get_worksheet(0)

# Say, you need A2
val = worksheet.cell(2, 1).value

# And then update
worksheet.update_cell(2, 1, '42') 
3 голосов
/ 04 марта 2010

API данных Google имеет привязку Python, в том числе для электронных таблиц: http://code.google.com/apis/spreadsheets/data/1.0/developers_guide_python.html

1 голос
/ 04 марта 2010

Может быть, вы можете использовать эту библиотеку http://code.google.com/apis/spreadsheets/data/1.0/developers_guide_python.html?

0 голосов
/ 11 декабря 2016

Есть еще одна библиотека электронных таблиц: pygsheets . Это похоже на gspread, но использует google api v4. Следовательно, предоставляет больше возможностей.

import pygsheets

gc = pygsheets.authorize()

# Open spreadsheet and then workseet
sh = gc.open('my new ssheet')
wks = sh.sheet1

# Update a cell with value (just to let him know values is updated ;) )
wks.update_cell('A1', "Hey yank this numpy array")

# update the sheet with array
wks.update_cells('A2', my_nparray.to_list())

# share the sheet with your friend
sh.share("myFriend@gmail.com")
0 голосов
/ 26 февраля 2014

gspread, вероятно, самый быстрый способ начать этот процесс, однако существуют некоторые ограничения скорости при обновлении данных с использованием gspread с вашего локального хоста.Если вы перемещаете большие наборы данных с помощью gspread - например, перемещая 20 столбцов данных по столбцу, вы можете автоматизировать процесс с помощью задания CRON.

...