Научете как да зареждате и запазвате данни директно от вашето приложение JES с това ръководство стъпка по стъпка.
JES е среда за програмиране, която можете да използвате, за да пишете, тествате и изпълнявате код локално на вашия компютър. JES предлага много възможности, като възможност за редактиране на снимки, видеоклипове или други медии.
Можете също така да изпълнявате други задачи в JES, като четене или писане на файлове. Можете да четете данни от различни типове файлове, включително текстови файлове и CSV файлове.
Как да четем от файл с помощта на JES
Можете да видите и изтеглите пълния изходен код за тези примери от GitHub хранилище.
За да прочетете файл в JES, първо го отворете, след това прочетете съдържанието му и го запазете в променлива за по-нататъшна обработка.
Ако четете от текстов файл, можете да съхранявате всеки ред от файла отделно като елемент в масив. Ако четете от CSV файл, можете също да съхранявате стойността на всяка клетка отделно.
- Отворете софтуера JES на вашия компютър. В прозореца за програмиране създайте нова функция:
дефreadFromFile():
- Използвайте функцията pickAFile(), за да помолите потребителя да избере файл. Можете лесно намерете помощ за вградени JES функции за да научите повече за тях.
файл = pickAFile()
- Валидирайте файла, за да сте сигурни, че потребителят е избрал само TXT или CSV файл:
аконе file.endswith(".текст") ине file.endswith(".csv"):
печат („Грешка: Поддържат се само .txt и .csv файлове.“)
връщане - Отворете избрания файл с помощта на функцията open(). Първият параметър е файлът, от който четете. Вторият параметър определя режима, използван за отваряне на файла. Например "rt" означава "четене на файл".
openFile = отваряне (файл, "rt")
- Докато файлът е отворен, прочетете цялото съдържание от него. Съхранявайте съдържанието на файла в променлива:
allContent = openFile.read()
- Затворете файла:
openFile.close()
- Променливата "allContent" съдържа единичен низ, който съдържа цялото съдържание във файла. Знак за нов ред (\н) разделя всеки ред във файла. Ако искате да получите достъп до всеки ред поотделно, разделете низа и запазете всеки ред като елемент в масив:
ако file.endswith(".текст"):
редове = allContent.split("\н")
печат (редове) - Ако четете от CSV файл, можете допълнително да отделите всеки ред, за да получите стойността от всяка отделна клетка. За всеки ред в CSV файла отделете стойностите със запетая и съхранете стойностите в двоен масив. Структурата на масива ще изглежда подобно на това: [[1,2,3], [4,5,6], [7,8,9]].
ако file.endswith(".csv"):
редове = allContent.split("\н")
csvData = []за ред в редове:
ако (ред != ''):
клетки = row.split(",")
csvData.append([float (клетка) за клетка в клетки])печат (csvData)
- За да тествате програмата, създайте нов текстов файл, наречен sample.txtи го попълнете с някакъв текст:
Това е началото на файла
Това е друга линия
Това е третият ред
Това е краят на файла - Също създайте CSV файл, назови го числа.csvи го попълнете с някои данни:
- В интерфейса на JES щракнете върху Заредете програма бутон, разположен между прозореца за програмиране и командния ред:
- Стартирайте функцията readFromFile() в командния ред:
readFromFile()
- Като използвате подканата за файл, навигирайте до мястото, където сте съхранили вашия файл sample.txt. Изберете файла, за да го отворите и да видите съдържанието, отпечатано на конзолата:
- Стартирайте отново функцията readFromFile() в командния ред. Изберете файла numbers.csv, за да видите съдържанието, отпечатано на конзолата, като всяка клетка е отделена и съхранена в масива:
Как да пишете във файл с помощта на JES
Можете да пишете в CSV или текстов файл с помощта на функцията write(). Можете да отворите файла за добавяне или писане. Добавянето ще добави към съществуващото съдържание, докато писането ще презапише всяко съществуващо съдържание във файла.
Създайте нова функция и я използвайте, за да пишете в текстов файл и CSV файл.
- Създайте нова функция, наречена writeToFile():
дефwriteToFile():
- Използвайте функцията pickAFile(), за да подканите потребителя да избере файл:
файл = pickAFile()
- Отворете файла за добавяне:
openFile = отваряне (файл, "в")
- Като алтернатива, ако искате да презапишете цялото съдържание във файла, вместо това въведете "w" като втори аргумент:
openFile = отваряне (файл, "w")
- Пишете във файла. За да добавите няколко реда, използвайте "\n", за да разделите съдържанието на редове, или използвайте отново функцията write():
ако file.endswith(".текст"):
openFile.write("\nТестване")
openFile.write("\nТестване1\nТестване2")
openFile.write("\nТестване 3") - За да запишете в CSV файл, запишете всички данни за един ред с помощта на функцията write() и разделете стойностите за всяка клетка със запетая:
ако file.endswith(".csv"):
openFile.write("\n12,34,56") - Затворете файла след запис в него:
openFile.close()
печат („Успешно писане във файл“) - Кликнете върху Заредете програма бутон, разположен между прозореца за програмиране и командния ред.
- Стартирайте функцията writeToFile() в командния ред:
writeToFile()
- Като използвате подканата за файл, изберете файла "sample.txt". След като JES приключи записването във файла, отворете "sample.txt", за да видите новите редове, добавени в края на файла:
- Стартирайте отново функцията writeToFile() в командния ред. Отворете файла "numbers.csv", за да видите новите стойности на клетките, добавени в края на файла.
Четене и запис на файлови данни с JES
Записването на данни във файл е изключително полезна функция, която можете да използвате, ако трябва да запазите каквито и да било данни в програма.
Разгледайте други начини, по които можете да четете или пишете във файлове с помощта на Python. Примери за това включват използване на модули като Pandas или Openpyxl.