Lær hvordan du laster inn og lagrer data direkte fra JES-appen din med denne trinnvise veiledningen.
JES er et programmeringsmiljø som du kan bruke til å skrive, teste og kjøre kode lokalt på datamaskinen din. JES tilbyr mange funksjoner, for eksempel muligheten til å redigere bilder, videoer eller andre medier.
Du kan også fullføre andre oppgaver i JES som å lese eller skrive til filer. Du kan lese data fra forskjellige filtyper, inkludert tekstfiler og CSV-filer.
Hvordan lese fra en fil ved hjelp av JES
Du kan se og laste ned hele kildekoden for disse eksemplene fra GitHub-depot.
For å lese en fil i JES, åpne den først, les deretter innholdet og lagre den i en variabel for videre behandling.
Hvis du leser fra en tekstfil, kan du lagre hver linje i filen separat som et element i en matrise. Hvis du leser fra en CSV-fil, kan du også lagre hver celles verdi separat.
- Åpne JES-programvaren på datamaskinen. Opprett en ny funksjon i programmeringsvinduet:
defles fra fil():
- Bruk funksjonen pickAFile() for å be brukeren velge en fil. Du kan enkelt finn hjelp til innebygde JES-funksjoner for å lære mer om dem.
fil = pickAFile()
- Valider filen for å sikre at brukeren bare valgte en TXT- eller CSV-fil:
hvisikke file.endswith(".tekst") ogikke file.endswith(".csv"):
skrive ut("Feil: Bare .txt- og .csv-filer støttes.")
komme tilbake - Åpne den valgte filen ved å bruke open()-funksjonen. Den første parameteren er filen du leser fra. Den andre parameteren spesifiserer modusen som brukes til å åpne filen. For eksempel betyr "rt" "les fil".
openedFile = åpen (fil, "rt")
- Mens filen er åpen, les alt innholdet fra den. Lagre filens innhold i en variabel:
allContent = openedFile.read()
- Lukk filen:
openedFile.close()
- Variabelen "allContent" inneholder en enkelt streng som inneholder alt innholdet i filen. Et linjeskifttegn (\n) skiller hver linje i filen. Hvis du vil ha tilgang til hver linje individuelt, del strengen og lagre hver linje som et element i en matrise:
hvis file.endswith(".tekst"):
rader = allContent.split("\n")
print (rader) - Hvis du leser fra en CSV-fil, kan du skille hver linje ytterligere for å få verdien fra hver enkelt celle. For hver rad i CSV-filen skiller du verdiene med komma og lagrer verdiene i en dobbel matrise. Strukturen til matrisen vil ligne denne: [[1,2,3], [4,5,6], [7,8,9]].
hvis file.endswith(".csv"):
rader = allContent.split("\n")
csvData = []til rad i rader:
hvis (rad != ''):
celler = row.split(",")
csvData.append([float (celle) til celle i celler])print (csvData)
- For å teste programmet, lag en ny tekstfil kalt sample.txt, og fyll den med litt tekst:
Dette er starten på filen
Dette er en annen linje
Dette er den tredje linjen
Dette er slutten av filen - Også opprette en CSV-fil, navngi det tall.csv, og fyll den med noen data:
- På JES-grensesnittet klikker du på Last ned programmet knapp, plassert mellom programmeringsvinduet og kommandolinjen:
- Kjør readFromFile()-funksjonen på kommandolinjen:
readFromFile()
- Naviger til der du lagret sample.txt-filen ved hjelp av filmeldingen. Velg filen for å åpne den og se innholdet som er skrevet ut på konsollen:
- Kjør readFromFile()-funksjonen igjen i ledeteksten. Velg filen numbers.csv for å se innholdet som er skrevet ut på konsollen, med hver celle atskilt og lagret i matrisen:
Hvordan skrive til en fil ved hjelp av JES
Du kan skrive til en CSV- eller tekstfil ved å bruke skrive()-funksjonen. Du kan enten åpne filen for å legge til eller skrive. Å legge til vil legge til det eksisterende innholdet, mens skriving vil overskrive alt eksisterende innhold i filen.
Lag en ny funksjon, og bruk den til å skrive til en tekstfil og en CSV-fil.
- Opprett en ny funksjon kalt writeToFile():
defwriteToFile():
- Bruk funksjonen pickAFile() for å be brukeren velge en fil:
fil = pickAFile()
- Åpne filen for å legge til:
openedFile = åpen (fil, "på")
- Alternativt, hvis du vil overskrive alt innholdet i filen, skriv inn "w" som det andre argumentet i stedet:
openedFile = åpen (fil, "w")
- Skriv til filen. For å legge til flere linjer, bruk "\n" for å skille innholdet i linjer, eller bruk write()-funksjonen igjen:
hvis file.endswith(".tekst"):
openedFile.write("\nTest")
openedFile.write("\nTesting1\nTesting2")
openedFile.write("\nTesting3") - For å skrive til en CSV-fil, skriv alle data for en enkelt rad ved å bruke write()-funksjonen, og separer verdiene for hver celle med komma:
hvis file.endswith(".csv"):
openedFile.write("\n12,34,56") - Lukk filen etter å ha skrevet til den:
openedFile.close()
skrive ut("Skrev til filen vellykket") - Klikk på Last ned programmet -knappen, plassert mellom programmeringsvinduet og kommandolinjen.
- Kjør writeToFile()-funksjonen i ledeteksten:
writeToFile()
- Velg filen "sample.txt" ved å bruke filmeldingen. Når JES er ferdig med å skrive til filen, åpne "sample.txt" for å se de nye linjene som er lagt til på slutten av filen:
- Kjør writeToFile()-funksjonen på nytt på kommandolinjen. Åpne "numbers.csv"-filen for å se de nye celleverdiene som er lagt til på slutten av filen.
Lese og skrive fildata med JES
Å skrive data til en fil er en ekstremt nyttig funksjon som du kan bruke hvis du trenger å lagre data i et program.
Utforsk andre måter du kan lese eller skrive til filer ved hjelp av Python. Eksempler på dette inkluderer bruk av moduler som Pandas eller Openpyxl.