S tem vodnikom po korakih se naučite nalagati in shranjevati podatke neposredno iz aplikacije JES.
JES je programsko okolje, ki ga lahko uporabite za pisanje, testiranje in izvajanje kode lokalno v vašem računalniku. JES ponuja številne možnosti, kot je možnost urejanja fotografij, videoposnetkov ali drugih medijev.
V JES lahko opravite tudi druge naloge, kot je branje ali pisanje datotek. Podatke lahko berete iz različnih vrst datotek, vključno z besedilnimi datotekami in datotekami CSV.
Kako brati iz datoteke z JES
Celotno izvorno kodo za te primere si lahko ogledate in prenesete iz Repozitorij GitHub.
Če želite prebrati datoteko v JES, jo najprej odprite, nato preberite njeno vsebino in jo shranite v spremenljivko za nadaljnjo obdelavo.
Če berete iz besedilne datoteke, lahko shranite vsako vrstico datoteke posebej kot element v matriki. Če berete iz datoteke CSV, lahko shranite tudi vrednost vsake celice posebej.
- V računalniku odprite programsko opremo JES. V oknu za programiranje ustvarite novo funkcijo:
defreadFromFile():
- S funkcijo pickAFile() prosite uporabnika, da izbere datoteko. Z lahkoto lahko poiščite pomoč za vgrajene funkcije JES če želite izvedeti več o njih.
datoteka = pickAFile()
- Preverite datoteko in se prepričajte, da je uporabnik izbral samo datoteko TXT ali CSV:
čene file.endswith(".txt") inne file.endswith(".csv"):
natisni("Napaka: podprte so samo datoteke .txt in .csv.")
vrnitev - Odprite izbrano datoteko s funkcijo open(). Prvi parameter je datoteka, iz katere berete. Drugi parameter določa način, uporabljen za odpiranje datoteke. Na primer, "rt" pomeni "branje datoteke".
openFile = odpri (datoteka, "rt")
- Ko je datoteka odprta, preberite vso njeno vsebino. Shranite vsebino datoteke v spremenljivko:
allContent = openFile.read()
- Zapri datoteko:
openFile.close()
- Spremenljivka "allContent" vsebuje en sam niz, ki vsebuje vso vsebino v datoteki. Znak za novo vrstico (\n) loči vsako vrstico v datoteki. Če želite dostopati do vsake vrstice posebej, razdelite niz in shranite vsako vrstico kot element v matriki:
če file.endswith(".txt"):
vrstice = allContent.split("\n")
natisni (vrstice) - Če berete iz datoteke CSV, lahko dodatno ločite vsako vrstico, da dobite vrednost iz vsake posamezne celice. Za vsako vrstico v datoteki CSV ločite vrednosti z vejico in shranite vrednosti v dvojnem polju. Struktura matrike bo videti podobna tej: [[1,2,3], [4,5,6], [7,8,9]].
če file.endswith(".csv"):
vrstice = allContent.split("\n")
csvData = []za vrstica v vrstice:
če (vrstica != ''):
celice = row.split(",")
csvData.append([float (celica) za celica v celice])natisni (csvData)
- Če želite preizkusiti program, ustvarite novo besedilno datoteko z imenom vzorec.txtin ga zapolnite z besedilom:
To je začetek datoteke
To je druga linija
To je tretja vrstica
To je konec datoteke - tudi ustvarite datoteko CSV, ime številke.csvin ga zapolnite z nekaj podatki:
- Na vmesniku JES kliknite na Naloži program gumb, ki se nahaja med oknom za programiranje in ukazno vrstico:
- Zaženite funkcijo readFromFile() v ukazni vrstici:
readFromFile()
- S pozivom za datoteko se pomaknite do mesta, kjer ste shranili datoteko sample.txt. Izberite datoteko, da jo odprete in si ogledate vsebino, natisnjeno na konzoli:
- Znova zaženite funkcijo readFromFile() v ukaznem pozivu. Izberite datoteko numbers.csv za ogled vsebine, natisnjene na konzoli, pri čemer je vsaka celica ločena in shranjena v matriki:
Kako pisati v datoteko z uporabo JES
V datoteko CSV ali besedilno datoteko lahko pišete s funkcijo write(). Datoteko lahko odprete za dodajanje ali pisanje. Z dodajanjem boste dodali obstoječo vsebino, pisanje pa bo prepisalo vso obstoječo vsebino v datoteki.
Ustvarite novo funkcijo in jo uporabite za pisanje v besedilno datoteko in datoteko CSV.
- Ustvarite novo funkcijo z imenom writeToFile():
defwriteToFile():
- Uporabite funkcijo pickAFile(), da uporabnika pozovete k izbiri datoteke:
datoteka = pickAFile()
- Odprite datoteko za dodajanje:
openFile = odpri (datoteka, "pri")
- Če pa želite prepisati vso vsebino v datoteki, namesto tega kot drugi argument vnesite "w":
openFile = odpri (datoteka, "w")
- Zapiši v datoteko. Če želite dodati več vrstic, uporabite "\n", da ločite vsebino v vrstice, ali znova uporabite funkcijo write():
če file.endswith(".txt"):
openFile.write("\nTestiranje")
openFile.write("\nTestiranje1\nTestiranje2")
openFile.write("\nTestiranje3") - Če želite pisati v datoteko CSV, zapišite vse podatke za eno vrstico s funkcijo write() in ločite vrednosti za vsako celico z vejico:
če file.endswith(".csv"):
openFile.write("\n12,34,56") - Zaprite datoteko, potem ko vanjo pišete:
openFile.close()
natisni("Uspešno zapisano v datoteko") - Kliknite na Naloži program gumb, ki se nahaja med oknom za programiranje in ukazno vrstico.
- Zaženite funkcijo writeToFile() v ukaznem pozivu:
writeToFile()
- V pozivu za datoteko izberite datoteko "sample.txt". Ko JES konča s pisanjem v datoteko, odprite "sample.txt", da si ogledate nove vrstice, dodane na konec datoteke:
- Znova zaženite funkcijo writeToFile() v ukazni vrstici. Odprite datoteko "numbers.csv", če si želite ogledati nove vrednosti celic, dodane na konec datoteke.
Branje in pisanje podatkov datoteke z JES
Zapisovanje podatkov v datoteko je izjemno uporabna funkcija, ki jo lahko uporabite, če morate shraniti kakršne koli podatke znotraj programa.
Raziščite druge načine, kako lahko berete ali pišete v datoteke z uporabo Pythona. Primeri tega vključujejo uporabo modulov, kot sta Pandas ali Openpyxl.