Como ler e escrever para o google folhas com python
Python é uma excelente linguagem de programação. A sintaxe pode parecer estranho e incomum, no entanto, é fácil de aprender e usar. Powers Minecraft Pi Edição
, juntamente com uma série de sites e projetos de pesquisa acadêmica.Saiba Python e Eletrônica com Minecraft Pi EdiçãoSaiba Python e Eletrônica com Minecraft Pi EdiçãoVocê sempre quis aprender a código, mas não sabia por onde começar? Saiba como controlar Minecraft sobre o Raspberry Pi usando Python e alguns eletrônicos simples.consulte Mais informaçãoNeste artigo, vou mostrar-lhe como ler e escrever para as Planilhas Google usando Python. Certifique-se de ler as nossas razões programação Python não é inútil e nosso cinco configurações Folhas Google que são essenciais para o trabalho em equipe. Eles vão fornecer algum conhecimento útil.
configuração do Google
Antes de saltar para o código, há alguma configuração inicial necessária nas planilhas do Google.
Em primeiro lugar, criar-se uma nova folha. Você pode pular esta etapa se você tiver um já criado. Eu estou usando uma lista de carros de rali para este exemplo:
Agora você precisa configurar suas opções de compartilhamento. Você vai precisar para gerar Credenciais assinados, algo que soa mais difícil do que é. Navegue até o Google Developers Console e criar um novo projeto (ou utilizar um já existente):
Dê ao seu projeto um nome apropriado e clique em crio:
Por baixo APIs do Google Apps selecionar unidade API:
Escolher Habilitar:
agora, selecione Credenciais no menu à esquerda:
Clique na pequena seta no Criar credenciais botão:
agora, selecione chave conta de serviço:
Escolher conta de serviço padrão do Google App Engine sob conta de serviço e JSON como o formato:
Clique criar, e você deve ter uma .json Download do arquivo. Mova isso em seu diretório do projeto e renomeá-lo creds.json. Finalmente, abra o arquivo e procurar client_email. Este deve ser o nome do seu projeto em appspot.gserviceaccount.com. Partilhe a sua planilha do Google com este endereço de e-mail (Canto superior direito gt; Compartilhar gt; Digite e-mail).
Isso é tudo para o lado de Google Drive.
Setup Python
Existem duas principais versões do Python: 2.7 e 3.x. Eu vou estar usando 2,7, mas isso realmente não importa o que você usa. O wiki Python faz quebrar as diferenças se você estiver interessado. Você pode querer instalar um ambiente virtual. Que está fora do escopo deste artigo, mas as boas práticas.
Se você estiver executando o Microsoft Windows, pode ser necessário baixar e instalar Python. Mac OS vem com Python já instalado. Como eu estou usando um Mac, este projeto será criado como tal. Você deve ser capaz de seguir razoavelmente bem em uma máquina Windows ou Linux. Certifique-se de ler a nossa guia quanto a saber se você deve mudar.Hey Usuário do Windows, você deve mudar para o Linux ou Mac?Hey Usuário do Windows, você deve mudar para o Linux ou Mac?Alguma vez você considerar a mudança do Windows para o Linux ou Mac? A resposta rápida: se você estiver no Windows, fique no Windows e não se preocupar com a atualização ainda. Aqui está o porquê.consulte Mais informação
Primeiro, abra um novo terminal. Você vai precisar usar pip para instalar alguns pacotes Python. Esta é uma ferramenta recomendamos que torna muito fácil para gerenciar pacotes. Ele vem com Python.
Você precisa instalar um oauth2client. OAuth é um quadro de autorização web. Eu não vou estar a discutir os detalhes do mesmo, mas é necessário para que tudo funcione corretamente e com segurança. É fácil de instalar usando pip:
pip instalar oauth2client
Você pode precisar instalar pyOpenSSL, bem como, dependendo de sua configuração:
pip instalar pyOpenSSL
Agora você precisa instalar Gspread por Anton Burnashev no GitHub. Esta é uma excelente biblioteca escrita para torná-lo fácil de acessar planilhas do Google em Python. Novamente, isso é fácil de instalar usando pip:
pip instalar gspread
Agora abra seu editor de texto favorito (estou usando Sublime Texto 3). Criar um novo arquivo de Python e salvá-lo no diretório do projeto como google_io.py. Aqui está o código de teste:
impressão `Olá Mundo!`
Volte para o seu terminal e navegue até o diretório do projeto. Você pode fazer isso através do CD comando. Você pode usar ls para listar arquivos e pwd para mostrar o seu diretório de trabalho.
Uma vez no diretório do projeto, você pode executar o seu script Python como esta:
google_io.py python
Agora você deve ver Olá Mundo! em sua linha de comando:
Agora que Python está funcionando corretamente, vamos em frente e configurar as bibliotecas. Exclua o código Olá mundo. Agora importar Gspread e executar o código novamente:
importar gspread
Se as coisas estão funcionando corretamente, nada vai acontecer. Se você receber um erro, talvez dizendo nenhum módulo chamado X onde X é o nome do módulo que você digitou (Gspread) ir e dupla pip verificação instalado o módulo corretamente, e que você não fez um erro tipográfico.
Aqui está o código para você começar:
importar jsonimportar gspreada partir de oauth2client.cliente importar SignedJwtAssertionCredentialsjson_key = json.carga(aberto(`Creds.json`)) credenciais # JSON que você baixou anteriormenteescopo = [`Https://spreadsheets.google.com/feeds`]credenciais = SignedJwtAssertionCredentials(json_key[`Client_email`], json_key[`Private_key`].codificar(), escopo) # Obter email e chave de credsArquivo = gspread.autorizar(credenciais) # Autenticar com GoogleFolha = Arquivo.aberto("MUO_Python_Sheet").sheet1 # Folha aberta
Isso simplesmente recupera os detalhes da .json arquivo, e depois as usa para autenticar com o Google. Em seguida, ele abre uma folha chamada MUO_Python_Sheet. Você pode precisar de mudar isso para o nome de sua folha (desde que tenha compartilhado corretamente). Python é case sensitive, por isso certifique-se de introduzir este código corretamente.
Leitura
Agora que tudo está configurado, é trivial para ler ou gravar dados. Veja como você selecionar um intervalo de células (neste caso, todas as células de carro):
all_cells = Folha.alcance(`A1: C6`)impressão all_cells
Aqui está o que parece:
Não muito agradável é? Python tem despejado o conteúdo do objeto, sem ter em conta para a formatação. Porque este é armazenado no all_cells variável, ele pode ser acessado como qualquer outro objeto Python. Veja como você imprimir todos os valores de célula em um formato mais agradável:
para célula dentro all_cells:impressão célula.valor
E que se parece com isso:
É possível acessar as células individualmente (embora este é lento se você fizer isso muitas vezes):
A1 = Folha.uma célula(`A2`).valor # Esta célula contém "vau"
Ou você pode usar as coordenadas de células:
coord = Folha.célula(3, 0).valor
É fácil de obter todos os valores para uma linha:
linha = Folha.row_values(1) # primeira linha
Ou você pode obter uma coluna inteira. Isto torna-se o Modelo linha:
col = Folha.col_values(2) modelos #
Tenha em mente que estes dois métodos não sei a quantidade de dados que você tem. Se você só tem três linhas, múltiplos adicional vazio células vão ser devolvidos. É quase sempre melhor para acessar um bloco predefinido de células.
Escrevendo
É tão fácil escrever de volta para a folha, e você pode usar nomes de células ou coordenadas, assim como ao ler:
Folha.update_acell(`C2`, `Azul`)Folha.update_cell(2, 3, `Azul`)
A página do projeto no GitHub tem muitos mais exemplos.
Se você está escrevendo para uma folha importante, você pode querer considerar um segurança célula. Armazenar um valor em uma determinada célula (eu uso “Não exclua esse”) e, em seguida, ler essa célula em primeiro lugar. Se o conteúdo mudaram, então colunas foram adicionados ou removidos em sua folha, então não prossiga escrita! Aqui está como isso poderia ser alcançado:
E se Folha.uma célula(`B3`) != `SEGURANÇA`:# Algo mudou na folha, não procedemlevantar Exceção("Oh meu, eu não estou pronto para isso.")outro:# Continuar com a sua escritaFolha.update_acell(`C2`,`Azul`)
Esta é uma boa prática. Ele garante que o seu script não pode acidentalmente escrever na coluna errada. Não é um substituto para backups adequados (você tem backups, certo?).
Agora que você sabe o básico, ir e fazer algo legal! Saiba como usar cron para agendar tarefas no Linux (ou check-out um alternativa do Windows). Talvez você poderia alimentar um photo frame ou fazer um painel de escritório - que é o que eu fiz!Como agendar tarefas no Linux com Cron e CrontabComo agendar tarefas no Linux com Cron e CrontabA capacidade de automatizar tarefas é uma dessas tecnologias futuristas que já está aqui. Cada usuário Linux podem se beneficiar de sistema de agendamento e tarefas do usuário, graças ao cron, um serviço de fundo easy-to-use.consulte Mais informação
você interagiu com as Planilhas Google antes? Deixe-nos saber suas experiências nos comentários abaixo!