CSV
Обработка пользовательских PDF-файлов.
Введение
Netuno генерирует CSV-файлы с помощью ресурса CSV, который предоставляет low-code-абстракцию Apache Commons CSV для различных языков программирования, поддерживаемых Netuno.
Приложение, поставляемое с Netuno и называемое demo (демонстрационное приложение), содержит множество примеров возможных реализаций кода на разных языках, включая демонстрацию экспорта в CSV через сервис csv, который находится в:
- JavaScript
- TypeScript
- Python
- Ruby
- Kotlin
- Groovy
netuno/apps/demo/server/services/samples/javascript/csv.js
netuno/apps/demo/server/services/samples/typescript/csv.ts
netuno/apps/demo/server/services/samples/python/csv.py
netuno/apps/demo/server/services/samples/ruby/csv.rb
netuno/apps/demo/server/services/samples/kotlin/csv.kts
netuno/apps/demo/server/services/samples/groovy/csv.groovy
Создание CSV-файла
Чтобы создать CSV-файл, сначала нужно инициализировать CSVPrinter из Apache Commons CSV.
Для этого нужно передать имя папки и имя файла, а также формат CSV.
В примере мы создадим файл в storage приложения:
- JavaScript
- TypeScript
- Python
- Ruby
- Kotlin
- Groovy
const csvПринтер = _csv.printer(
_storage.filesystem("server", "данные.csv"),
_csv.format("EXCEL")
)
const csvПринтер = _csv.printer(
_storage.filesystem("server", "данные.csv"),
_csv.format("EXCEL")
)
csv_принтер = _csv.printer(
_storage.filesystem("server", "данные.csv"),
_csv.format("EXCEL")
)
csv_принтер = _csv.printer(
_storage.filesystem("server", "данные.csv"),
_csv.format("EXCEL")
)
val csvПринтер = _csv.printer(
_storage.filesystem("server", "данные.csv"),
_csv.format("EXCEL")
)
def csvПринтер = _csv.printer(
_storage.filesystem("server", "данные.csv"),
_csv.format("EXCEL")
)
Поддерживаемые форматы описаны здесь.
Запись
Чтобы записать строки в CSV-файл:
- JavaScript
- TypeScript
- Python
- Ruby
- Kotlin
- Groovy
csvПринтер.printRecord("идентификатор", "имяПользователя", "имя", "фамилия", "датаРождения")
csvПринтер.printRecord(1, "иван73", "Иван", "Иванов", 123)
csvПринтер.printRecord("идентификатор", "имяПользователя", "имя", "фамилия", "датаРождения")
csvПринтер.printRecord(1, "иван73", "Иван", "Иванов", 123)
csvПринтер.printRecord("идентификатор", "имяПользователя", "имя", "фамилия", "датаРождения")
csvПринтер.printRecord(1, "иван73", "Иван", "Иванов", 123)
csvПринтер.printRecord("идентификатор", "имяПользователя", "имя", "фамилия", "датаРождения")
csvПринтер.printRecord(1, "иван73", "Иван", "Иванов", 123)
csvПринтер.printRecord("идентификатор", "имяПользователя", "имя", "фамилия", "датаРождения")
csvПринтер.printRecord(1, "иван73", "Иван", "Иванов", 123)
csvПринтер.printRecord("идентификатор", "имяПользователя", "имя", "фамилия", "датаРождения")
csvПринтер.printRecord(1, "иван73", "Иван", "Иванов", 123)
Закрытие
В конце необходимо закрыть CSVPrinter:
- JavaScript
- TypeScript
- Python
- Ruby
- Kotlin
- Groovy
csvПринтер.close()
csvПринтер.close()
csvПринтер.close()
csvПринтер.close()
csvПринтер.close()
csvПринтер.close()
Чтение CSV-файла
Чтобы прочитать CSV-файл, сначала нужно инициализировать CSVParser из Apache Commons CSV.
Для этого нужно передать имя папки и имя файла.
В примере мы прочитаем файл в storage приложения:
- JavaScript
- TypeScript
- Python
- Ruby
- Kotlin
- Groovy
const csvПарсер = _csv.parser(_storage.filesystem("server", "данные.csv"))
const csvПарсер = _csv.parser(_storage.filesystem("server", "данные.csv"))
csvПарсер = _csv.parser(_storage.filesystem("server", "данные.csv"))
csvПарсер = _csv.parser(_storage.filesystem("server", "данные.csv"))
val csvПарсер = _csv.parser(_storage.filesystem("server", "данные.csv"))
final csvПарсер = _csv.parser(_storage.filesystem("server", "данные.csv"))
Строки
Теперь можно перебирать CSVRecord из Apache Commons CSV, которые представляют каждую строку CSV-файла:
- JavaScript
- TypeScript
- Python
- Ruby
- Kotlin
- Groovy
for (const запись of csvПарсер) {
const первыйСтолбец = запись.get(0)
const второйСтолбец = запись.get(1)
}
for (const запись of csvПарсер) {
const первыйСтолбец = запись.get(0)
const второйСтолбец = запись.get(1)
}
for запись in csvПарсер:
первыйСтолбец = запись.get(0)
второйСтолбец = запись.get(1)
csvПарсер.each do |запись|
первыйСтолбец = запись.get(0)
второйСтолбец = запись.get(1)
end
for (запись in csvПарсер) {
val первыйСтолбец = запись.get(0)
val второйСтолбец = запись.get(1)
}
for (запись in csvПарсер) {
def первыйСтолбец = запись.get(0)
def второйСтолбец = запись.get(1)
}
Или получить каждую строку с помощью метода getRecord из Apache Commons CSV.
В этом примере первый get получает первую строку. Второй get получает первое поле/значение этой строки:
- JavaScript
- TypeScript
- Python
- Ruby
- Kotlin
- Groovy
csvПарсер.getRecords().get(0).get(0)
csvПарсер.getRecords().get(0).get(0)
csvПарсер.getRecords().get(0).get(0)
csvПарсер.getRecords().get(0).get(0)
csvПарсер.getRecords().get(0).get(0)
csvПарсер.getRecords().get(0).get(0)
Закрытие
В конце необходимо закрыть CSVParser:
- JavaScript
- TypeScript
- Python
- Ruby
- Kotlin
- Groovy
csvПарсер.close()
csvПарсер.close()
csvПарсер.close()
csvПарсер.close()
csvПарсер.close()
csvПарсер.close()