Naučite kako učitavati i spremati podatke izravno iz svoje JES aplikacije pomoću ovog vodiča korak po korak.
JES je programsko okruženje koje možete koristiti za pisanje, testiranje i pokretanje koda lokalno na vašem računalu. JES nudi mnoge mogućnosti kao što je mogućnost uređivanja fotografija, videa ili drugih medija.
Također možete izvršiti druge zadatke u JES-u kao što je čitanje ili pisanje u datoteke. Možete čitati podatke iz različitih vrsta datoteka, uključujući tekstualne datoteke i CSV datoteke.
Kako čitati iz datoteke koristeći JES
Možete vidjeti i preuzeti puni izvorni kod za ove primjere s GitHub spremište.
Da biste pročitali datoteku u JES-u, prvo je otvorite, zatim pročitajte njezin sadržaj i spremite ga u varijablu za daljnju obradu.
Ako čitate iz tekstualne datoteke, možete zasebno pohraniti svaki redak datoteke kao element u nizu. Ako čitate iz CSV datoteke, također možete pohraniti svaku vrijednost ćelije zasebno.
- Otvorite softver JES na svom računalu. U prozoru za programiranje kreirajte novu funkciju:
defreadFromFile():
- Koristite funkciju pickAFile() da tražite od korisnika da odabere datoteku. Možete lako pronaći pomoć za ugrađene JES funkcije saznati više o njima.
datoteka = pickAFile()
- Provjerite valjanost datoteke kako biste bili sigurni da je korisnik odabrao samo TXT ili CSV datoteku:
akone file.endswith(".txt") ine file.endswith(".csv"):
ispis("Pogreška: Podržane su samo .txt i .csv datoteke.")
povratak - Otvorite odabranu datoteku pomoću funkcije open(). Prvi parametar je datoteka iz koje čitate. Drugi parametar određuje način koji se koristi za otvaranje datoteke. Na primjer, "rt" znači "čitaj datoteku".
openFile = otvori (datoteka, "rt")
- Dok je datoteka otvorena, pročitajte sav njen sadržaj. Pohranite sadržaj datoteke u varijablu:
allContent = openFile.read()
- Zatvori datoteku:
openFile.close()
- Varijabla "allContent" sadrži jedan niz koji sadrži sav sadržaj unutar datoteke. Znak novog retka (\n) odvaja svaki redak u datoteci. Ako želite pristupiti svakom retku pojedinačno, podijelite niz i pohranite svaki redak kao element u nizu:
ako file.endswith(".txt"):
rows = allContent.split("\n")
ispis (redovi) - Ako čitate iz CSV datoteke, možete dodatno odvojiti svaki redak da biste dobili vrijednost iz svake pojedinačne ćelije. Za svaki redak u CSV datoteci odvojite vrijednosti zarezom i pohranite vrijednosti u dvostruko polje. Struktura niza će izgledati ovako: [[1,2,3], [4,5,6], [7,8,9]].
ako file.endswith(".csv"):
rows = allContent.split("\n")
csvData = []za red u redovi:
ako (red != ''):
ćelije = row.split(",")
csvData.append([float (ćelija) za ćelija u Stanice])ispis (csvData)
- Za testiranje programa kreirajte novu tekstualnu datoteku pod nazivom uzorak.txt, i popunite ga nekim tekstom:
Ovo je početak datoteke
Ovo je druga linija
Ovo je treća linija
Ovo je kraj datoteke - Također stvoriti CSV datoteku, Imenuj brojevi.csv, i popunite ga nekim podacima:
- Na JES sučelju kliknite na Učitaj program gumb, koji se nalazi između prozora za programiranje i retka za naredbe:
- Pokrenite funkciju readFromFile() u naredbenom retku:
readFromFile()
- Koristeći upit za datoteku, dođite do mjesta gdje ste pohranili datoteku sample.txt. Odaberite datoteku da je otvorite i pogledate sadržaj ispisan na konzoli:
- Ponovno pokrenite funkciju readFromFile() u naredbenom retku. Odaberite datoteku numbers.csv da biste vidjeli sadržaj ispisan na konzoli, sa svakom ćelijom odvojenom i pohranjenom u nizu:
Kako pisati u datoteku koristeći JES
Možete pisati u CSV ili tekstualnu datoteku pomoću funkcije write(). Možete otvoriti datoteku za dodavanje ili pisanje. Dodavanje će dodati postojećem sadržaju, dok će pisanje prebrisati sav postojeći sadržaj u datoteci.
Stvorite novu funkciju i koristite je za pisanje u tekstualnu datoteku i CSV datoteku.
- Napravite novu funkciju pod nazivom writeToFile():
defwriteToFile():
- Upotrijebite funkciju pickAFile() da potaknete korisnika da odabere datoteku:
datoteka = pickAFile()
- Otvorite datoteku za dodavanje:
openFile = otvori (datoteka, "na")
- Alternativno, ako želite prebrisati sav sadržaj u datoteci, umjesto toga unesite "w" kao drugi argument:
openFile = otvori (datoteka, "w")
- Zapiši u datoteku. Za dodavanje više redaka upotrijebite "\n" za odvajanje sadržaja u retke ili ponovno upotrijebite funkciju write():
ako file.endswith(".txt"):
openFile.write("\nTestiranje")
openFile.write("\nTestiranje1\nTestiranje2")
openFile.write("\nTestiranje3") - Za pisanje u CSV datoteku, zapišite sve podatke za jedan red pomoću funkcije write(), a vrijednosti za svaku ćeliju odvojite zarezom:
ako file.endswith(".csv"):
openFile.write("\n12,34,56") - Zatvorite datoteku nakon pisanja u nju:
openFile.close()
ispis("Uspješno pisano u datoteku") - Klikni na Učitaj program gumb, koji se nalazi između prozora za programiranje i retka za naredbe.
- Pokrenite funkciju writeToFile() u naredbenom retku:
pisati u datoteku ()
- Pomoću upita za datoteku odaberite datoteku "sample.txt". Nakon što JES završi s pisanjem u datoteku, otvorite "sample.txt" da vidite nove retke pridodane na kraj datoteke:
- Ponovno pokrenite funkciju writeToFile() u naredbenom retku. Otvorite datoteku "numbers.csv" da biste vidjeli nove vrijednosti ćelija pridodane na kraj datoteke.
Čitanje i pisanje podataka datoteke pomoću JES-a
Zapisivanje podataka u datoteku iznimno je korisna funkcija koju možete koristiti ako trebate spremiti podatke unutar programa.
Istražite druge načine na koje možete čitati ili pisati u datoteke pomoću Pythona. Primjeri za to uključuju korištenje modula kao što su Pandas ili Openpyxl.