
Harry James
0
2418
16
Python er et fremragende programmeringssprog. Syntaks kan virke underligt og usædvanligt, men det er let at lære og bruge. Det kræver Minecraft Pi Edition Lær Python og elektronik med Minecraft Pi Edition Lær Python og elektronik med Minecraft Pi Edition Har du altid ønsket at lære at kode, men vidste ikke, hvor du skal starte? Lær hvordan man styrer Minecraft på Raspberry Pi ved hjælp af Python og nogle enkle elektronik. sammen med en række websteder og akademiske forskningsprojekter.
I denne artikel viser jeg dig, hvordan du læser og skriver til Google Sheets vha. Python. Sørg for at læse vores grunde til, at Python-programmering ikke er ubrugelig 5 grunde til, at Python-programmering ikke er nytteløs 5 grunde til, at Python-programmering ikke er nytteløs Python - Du elsker enten det, eller du hader det. Du kan endda svinge fra den ene ende til den anden som en pendul. Uanset hvad er Python et sprog, der er svært at være ambivalent med. og vores fem Google Sheets-indstillinger 5 Google Sheets-indstillinger Væsentlige for teamwork 5 Google Sheets-indstillinger Vigtige for teamwork Google Sheets har flere funktioner til støtte for kollektiv dataindtastning og -behandling end du måske tror. Vi introducerer dig til Google Sheets-funktioner og -funktioner, der er vigtige for gruppeprojekter. der er vigtige for teamwork. De giver nogle nyttige baggrundsviden. Hvis du lige er begyndt på din Python-rejse, er disse 5 bedste websteder til at lære Python De 5 bedste websteder til at lære Python-programmering De 5 bedste websteder til at lære Python-programmering Vil du lære Python-programmering? Her er de bedste måder at lære Python online, hvoraf mange er helt gratis. er et godt udgangspunkt.
Google-opsætning
Før du hopper ind i koden, er der nogle oprindelige opsætninger, der er nødvendige på Google Sheets.
Opret først et nyt ark. Du kan springe dette trin over, hvis du allerede har konfigureret et. Jeg bruger en liste over rallybiler til dette eksempel:
Nu skal du konfigurere dine delingsindstillinger. Du bliver nødt til at generere Underskrevne legitimationsoplysninger, noget der lyder vanskeligere end det er. Naviger til Google Developers Console og opret et nyt projekt (eller brug et eksisterende):
Giv dit projekt et passende navn, og klik derefter på skab:
Under Google Apps API'er Vælg Drive API:
Vælge Aktiver:
Vælg nu Legitimationsoplysninger i menuen til venstre:
Klik på den lille pil på Opret legitimationsoplysninger knap:
Vælg nu Servicekontonøgle:
Vælge App Engines standardtjenestekonto under Servicekonto og JSON som format:
Klik på Opret, så skal du få en .jSON fil download. Flyt dette til dit projektmappe og omdøb det creds.json. Til sidst skal du åbne filen og se efter client_email. Dette skal være navnet på dit projekt kl appspot.gserviceaccount.com. Del dit Google Sheet med denne e-mail-adresse (Øverst til højre > Del > Indtast e-mail).
Det er det for Google Drev-siden.
Python-opsætning
Der er to vigtigste Python-versioner: 2.7 og 3.x. Jeg bruger 2.7, men det betyder ikke rigtig, hvad du bruger. Python-wikien fordeler forskellene, hvis du er interesseret. Du ønsker muligvis at installere et virtuelt miljø. Det er uden for denne artikels rækkevidde, men god praksis.
Hvis du kører Microsoft Windows, skal du muligvis downloade og installere Python. Mac OS leveres med Python, der allerede er installeret. Da jeg bruger en Mac, oprettes dette projekt som sådan. Du skal være i stand til at følge rimeligt godt på en Windows- eller Linux-maskine. Sørg for at læse vores guide Hey Windows-bruger, skal du skifte til Linux eller Mac? Hej Windows-bruger, skal du skifte til Linux eller Mac? Overvejede du nogensinde at skifte fra Windows til Linux eller Mac? Det hurtige svar: Hvis du er på Windows, skal du være på Windows - og bare ikke bekymre dig om opgradering endnu. Her er hvorfor. om du skal skifte.
Åbn først en ny terminal. Du skal bruge pip til at installere nogle Python-pakker. Dette er et anbefalet værktøj, der gør det meget let at administrere pakker. Det leveres med Python.
Du skal installere en oauth2client. Oauth er en ramme for webgodkendelse. Jeg vil ikke diskutere detaljerne i det, men det er nødvendigt, at alt fungerer korrekt og sikkert. Det er nemt at installere ved hjælp af pip:
pip installer oauth2client
Du skal muligvis også installere PyOpenSSL, afhængigt af din opsætning:
pip installere PyOpenSSL
Nu skal du installere Gspread af Anton Burnashev på GitHub. Dette er et fremragende bibliotek skrevet for at gøre det nemt at få adgang til Google Sheets i Python. Igen er dette let at installere ved hjælp af pip:
pip installer gspread
Åbn nu din foretrukne teksteditor (jeg bruger Sublime Text 3). Opret en ny Python-fil og gem den i dit projektmappe som google_io.py. Her er testkoden:
tryk 'Hej, verden!'
Gå tilbage til din Terminal og naviger til dit projektmappe. Du kan gøre dette gennem cd kommando. Du kan bruge ls at liste over filer, og pwd for at vise dit arbejdsmappe.
Når du er i dit projektmappe, kan du udføre dit Python-script sådan:
python google_io.py
Du skulle nu se Hej Verden! i din kommandolinje:
Nu hvor Python fungerer korrekt, lader vi gå videre og opsætte bibliotekerne. Slet hej verdens koden. Importer nu Gspread og udfør koden igen:
import gspread
Hvis tingene fungerer korrekt, sker der ikke noget. Hvis du får en fejl, måske siger du intet modul med navnet X hvor X er navnet på det modul, du indtastede (Gspread), gå og dobbeltkontrol pip installerede modulet korrekt, og at du ikke har foretaget en typografisk fejl.
Her er koden for at komme i gang:
import json import gspread fra oauth2client.client import SignedJwtAssertionCredentials json_key = json.load (open ('creds.json')) # json-legitimationsoplysninger, du downloadede tidligere scope = ['https://spreadsheets.google.com/feeds'] credentials = SignedJwtAssertionCredentials (json_key ['client_email'], json_key ['private_key']. Kodning (), scope) # få e-mail og nøgle fra creds file = gspread.authorize (legitimationsoplysninger) # autentificere med Google ark = file.open ("MUO_Python_Sheet" ) .sheet1 # åbent ark
Dette henter ganske enkelt dine detaljer fra .jSON arkiv, og derefter bruges dem til at godkende med Google. Derefter åbnes et kaldet ark MUO_Python_Sheet. Det kan være nødvendigt at ændre dette til navnet på dit ark (forudsat at du har delt det korrekt). Python er store og små bogstaver, så sørg for at indtaste denne kode korrekt.
Læsning
Nu hvor alt er konfigureret, er det trivielt at læse eller skrive data. Her vælges, hvordan du vælger en række celler (i dette tilfælde alle bilceller):
all_cells = sheet.range ('A1: C6') udskriv all_cells
Sådan ser det ud:
Ikke særlig flot er det? Python har dumpet indholdet af objektet uden hensyntagen til formatering. Fordi dette er gemt i all_cells variabel, kan det tilgås som ethvert andet Python-objekt. Sådan udskrives alle celleværdier i et pænere format:
for celle i alle_celler: udskriv cell.værdi
Og det ser sådan ud:
Det er muligt at få adgang til celler individuelt (selvom dette er langsomt, hvis du gør det mange gange):
A1 = sheet.acell ('A2'). Værdi # denne celle indeholder "Ford"
Eller du kan bruge cellekoordinaterne:
coord = sheet.cell (3, 0) .værdi
Det er nemt at få alle værdier i træk:
række = ark.row_values (1) # første række
Eller du kan få en hel kolonne. Dette får Model række:
col = sheet.col_values (2) # modeller
Husk, at disse to metoder ikke ved, hvor meget data du har. Hvis du kun har tre rækker, flere ekstra tom celler returneres. Det er næsten altid bedre at få adgang til en foruddefineret blok af celler.
Skrivning
Det er lige så let at skrive tilbage på arket, og du kan bruge cellenavne eller koordinater, ligesom når du læser:
sheet.update_acell ('C2', 'Blue') ark.update_cell (2, 3, 'Blue')
Projektsiden på GitHub har mange flere eksempler.
Hvis du skriver til et vigtigt ark, kan du overveje a sikkerhed celle. Gem en værdi i en bestemt celle (jeg bruger “Slet ikke dette”) og derefter læse den celle først. Hvis indholdet er ændret, er kolonner blevet tilføjet eller fjernet i dit ark, så skriv ikke videre! Sådan kan det opnås:
if sheet.acell ('B3')! = 'SIKKERHED': # noget er ændret i arket, FORTSAT IKKE hæve undtagelse ("Åh, jeg er ikke klar til dette.") ellers: # fortsæt med din skrivning sheet.update_acell ( 'C2', 'Blue')
Dette er god praksis. Det sikrer, at dit script ikke ved en fejltagelse kan skrive i den forkerte kolonne. Det er ikke en erstatning for ordentlig sikkerhedskopiering (du har sikkerhedskopier, ikke?).
Nu hvor du kender det grundlæggende, skal du lave noget cool! Lær hvordan man bruger cron Sådan planlægges opgaver i Linux med Cron og Crontab Sådan planlægges opgaver i Linux med Cron og Crontab Evnen til at automatisere opgaver er en af de futuristiske teknologier, der allerede er her. Hver Linux-bruger kan drage fordel af planlægningssystemer og brugeropgaver takket være cron, en let at bruge baggrundstjeneste. at planlægge opgaver i Linux (eller check et Windows-alternativ Sådan køres Linux Style Cron Jobs på Windows Sådan køres Linux Style Cron Jobs på Windows). Måske kunne du tænde en fotoramme ShowerThoughts og EarthPorn: Lav en inspirerende Raspberry Pi fotoramme ShowerThoughts og EarthPorn: Lav en inspirerende Raspberry Pi fotoramme eller lav et kontor instrumentbord - det er hvad jeg gjorde!
Har du interageret med Google Sheets før? Fortæl os dine oplevelser i kommentarerne herunder!