Lær, hvordan du indlæser og gemmer data direkte fra din JES-app med denne trin-for-trin guide.
JES er et programmeringsmiljø, som du kan bruge til at skrive, teste og køre kode lokalt på din computer. JES tilbyder mange muligheder, såsom muligheden for at redigere fotos, videoer eller andre medier.
Du kan også udføre andre opgaver i JES, såsom at læse eller skrive til filer. Du kan læse data fra forskellige filtyper, herunder tekstfiler og CSV-filer.
Sådan læser du fra en fil ved hjælp af JES
Du kan se og downloade den fulde kildekode for disse eksempler fra GitHub-depot.
For at læse en fil i JES skal du først åbne den, derefter læse dens indhold og gemme den i en variabel til videre behandling.
Hvis du læser fra en tekstfil, kan du gemme hver linje i filen separat som et element i et array. Hvis du læser fra en CSV-fil, kan du også gemme hver celles værdi separat.
- Åbn JES-softwaren på din computer. Opret en ny funktion i programmeringsvinduet:
deflæs FraFil():
- Brug funktionen pickAFile() til at bede brugeren om at vælge en fil. Du kan sagtens finde hjælp til indbyggede JES-funktioner at lære mere om dem.
fil = pickAFile()
- Valider filen for at sikre, at brugeren kun har valgt en TXT- eller CSV-fil:
hvisikke file.endswith(".txt") ogikke file.endswith(".csv"):
Print("Fejl: Kun .txt- og .csv-filer understøttes.")
Vend tilbage - Åbn den valgte fil ved hjælp af open()-funktionen. Den første parameter er den fil, du læser fra. Den anden parameter angiver den tilstand, der bruges til at åbne filen. For eksempel betyder "rt" "læs fil".
openedFile = åben (fil, "rt")
- Mens filen er åben, læs alt indholdet fra den. Gem filens indhold i en variabel:
allContent = openedFile.read()
- Luk filen:
openedFile.close()
- Variablen "allContent" indeholder en enkelt streng, der rummer alt indholdet inde i filen. Et nylinjetegn (\n) adskiller hver linje i filen. Hvis du vil have adgang til hver linje individuelt, skal du dele strengen og gemme hver linje som et element i et array:
hvis file.endswith(".txt"):
rows = allContent.split("\n")
print (rækker) - Hvis du læser fra en CSV-fil, kan du yderligere adskille hver linje for at få værdien fra hver enkelt celle. For hver række i CSV-filen skal du adskille værdierne ved hjælp af et komma og gemme værdierne i et dobbelt array. Strukturen af arrayet vil ligne denne: [[1,2,3], [4,5,6], [7,8,9]].
hvis file.endswith(".csv"):
rows = allContent.split("\n")
csvData = []til række i rækker:
hvis (række != ''):
celler = række.split(",")
csvData.append([float (celle) til celle i celler])print (csvData)
- For at teste programmet skal du oprette en ny tekstfil kaldet sample.txt, og udfyld den med noget tekst:
Dette er starten på filen
Dette er en anden linje
Dette er den tredje linje
Dette er slutningen af filen - Også oprette en CSV-fil, navngiv det tal.csv, og udfyld det med nogle data:
- På JES-grænsefladen skal du klikke på Indlæs program knap, placeret mellem programmeringsvinduet og kommandolinjen:
- Kør funktionen readFromFile() på kommandolinjen:
readFromFile()
- Brug filprompten til at navigere til det sted, hvor du gemte din sample.txt-fil. Vælg filen for at åbne den og se indholdet udskrevet til konsollen:
- Kør funktionen readFromFile() igen i kommandoprompten. Vælg filen numbers.csv for at se indholdet udskrevet på konsollen, med hver celle adskilt og gemt i arrayet:
Sådan skriver du til en fil ved hjælp af JES
Du kan skrive til en CSV- eller tekstfil ved hjælp af funktionen write(). Du kan enten åbne filen for at tilføje eller skrive. Tilføjelse vil tilføje til det eksisterende indhold, mens skrivning vil overskrive alt eksisterende indhold i filen.
Opret en ny funktion, og brug den til at skrive til en tekstfil og en CSV-fil.
- Opret en ny funktion kaldet writeToFile():
defskrivTilFil():
- Brug funktionen pickAFile() til at bede brugeren om at vælge en fil:
fil = pickAFile()
- Åbn filen for at tilføje:
openedFile = åben (fil, "på")
- Alternativt, hvis du vil overskrive alt indhold i filen, skal du indtaste "w" som det andet argument i stedet:
openedFile = åben (fil, "w")
- Skriv til filen. For at tilføje flere linjer, brug "\n" til at adskille indholdet i linjer, eller brug funktionen write() igen:
hvis file.endswith(".txt"):
openedFile.write("\nTest")
openedFile.write("\nTest1\nTest2")
openedFile.write("\nTest3") - For at skrive til en CSV-fil skal du skrive alle data for en enkelt række ved hjælp af funktionen write() og adskille værdierne for hver celle med et komma:
hvis file.endswith(".csv"):
openedFile.write("\n12,34,56") - Luk filen efter at have skrevet til den:
openedFile.close()
Print("Skrev til fil med succes") - Klik på Indlæs program knap, placeret mellem programmeringsvinduet og kommandolinjen.
- Kør funktionen writeToFile() i kommandoprompten:
writeToFile()
- Brug filprompten til at vælge filen "sample.txt". Når JES er færdig med at skrive til filen, skal du åbne "sample.txt" for at se de nye linjer, der er tilføjet til slutningen af filen:
- Kør funktionen writeToFile() igen på kommandolinjen. Åbn filen "numbers.csv" for at se de nye celleværdier, der er tilføjet til slutningen af filen.
Læsning og skrivning af fildata med JES
At skrive data til en fil er en yderst nyttig funktion, som du kan bruge, hvis du skal gemme data i et program.
Udforsk andre måder, du kan læse eller skrive til filer ved hjælp af Python. Eksempler på dette omfatter brug af moduler som Pandas eller Openpyxl.