CSV
Przetwarzanie niestandardowych plików PDF.
Wprowadzenie
Netuno generuje pliki CSV za pomocą zasobu CSV, który zapewnia abstrakcję low-code dla Apache Commons CSV w różnych językach programowania obsługiwanych przez Netuno.
Aplikacja dostarczana z Netuno o nazwie demo (aplikacja demonstracyjna) zawiera wiele przykładów możliwych implementacji kodu w różnych językach, w tym demonstrację eksportu do CSV za pośrednictwem usługi csv, która znajduje się w:
- 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
Tworzenie pliku CSV
Aby utworzyć plik CSV, najpierw należy zainicjować CSVPrinter z Apache Commons CSV.
W tym celu musimy przekazać nazwę folderu i nazwę pliku oraz format CSV.
W przykładzie wygenerujemy plik w katalogu storage aplikacji:
- JavaScript
- TypeScript
- Python
- Ruby
- Kotlin
- Groovy
const drukarkaCsv = _csv.printer(
_storage.filesystem("server", "dane.csv"),
_csv.format("EXCEL")
)
const drukarkaCsv = _csv.printer(
_storage.filesystem("server", "dane.csv"),
_csv.format("EXCEL")
)
drukarka_csv = _csv.printer(
_storage.filesystem("server", "dane.csv"),
_csv.format("EXCEL")
)
drukarka_csv = _csv.printer(
_storage.filesystem("server", "dane.csv"),
_csv.format("EXCEL")
)
val drukarkaCsv = _csv.printer(
_storage.filesystem("server", "dane.csv"),
_csv.format("EXCEL")
)
def drukarkaCsv = _csv.printer(
_storage.filesystem("server", "dane.csv"),
_csv.format("EXCEL")
)
Obsługiwane formaty opisano tutaj.
Zapisywanie
Aby zapisać wiersze w pliku CSV:
- JavaScript
- TypeScript
- Python
- Ruby
- Kotlin
- Groovy
drukarkaCsv.printRecord("id", "nazwaUżytkownika", "imię", "nazwisko", "dataUrodzenia")
drukarkaCsv.printRecord(1, "jan73", "Jan", "Kowalski", 123)
drukarkaCsv.printRecord("id", "nazwaUżytkownika", "imię", "nazwisko", "dataUrodzenia")
drukarkaCsv.printRecord(1, "jan73", "Jan", "Kowalski", 123)
drukarkaCsv.printRecord("id", "nazwaUżytkownika", "imię", "nazwisko", "dataUrodzenia")
drukarkaCsv.printRecord(1, "jan73", "Jan", "Kowalski", 123)
drukarkaCsv.printRecord("id", "nazwaUżytkownika", "imię", "nazwisko", "dataUrodzenia")
drukarkaCsv.printRecord(1, "jan73", "Jan", "Kowalski", 123)
drukarkaCsv.printRecord("id", "nazwaUżytkownika", "imię", "nazwisko", "dataUrodzenia")
drukarkaCsv.printRecord(1, "jan73", "Jan", "Kowalski", 123)
drukarkaCsv.printRecord("id", "nazwaUżytkownika", "imię", "nazwisko", "dataUrodzenia")
drukarkaCsv.printRecord(1, "jan73", "Jan", "Kowalski", 123)
Zamykanie
Na końcu należy zamknąć CSVPrinter:
- JavaScript
- TypeScript
- Python
- Ruby
- Kotlin
- Groovy
drukarkaCsv.close()
drukarkaCsv.close()
drukarkaCsv.close()
drukarkaCsv.close()
drukarkaCsv.close()
drukarkaCsv.close()
Odczyt pliku CSV
Aby odczytać plik CSV, najpierw należy zainicjować CSVParser z Apache Commons CSV.
W tym celu musimy przekazać nazwę folderu i nazwę pliku.
W przykładzie odczytamy plik z katalogu storage aplikacji:
- JavaScript
- TypeScript
- Python
- Ruby
- Kotlin
- Groovy
const parserCsv = _csv.parser(_storage.filesystem("server", "dane.csv"))
const parserCsv = _csv.parser(_storage.filesystem("server", "dane.csv"))
parserCsv = _csv.parser(_storage.filesystem("server", "dane.csv"))
parserCsv = _csv.parser(_storage.filesystem("server", "dane.csv"))
val parserCsv = _csv.parser(_storage.filesystem("server", "dane.csv"))
final parserCsv = _csv.parser(_storage.filesystem("server", "dane.csv"))
Wiersze
Teraz można iterować po CSVRecord z Apache Commons CSV, które reprezentują każdy wiersz pliku CSV:
- JavaScript
- TypeScript
- Python
- Ruby
- Kotlin
- Groovy
for (const rekord of parserCsv) {
const kolumnaPierwsza = rekord.get(0)
const kolumnaDruga = rekord.get(1)
}
for (const rekord of parserCsv) {
const kolumnaPierwsza = rekord.get(0)
const kolumnaDruga = rekord.get(1)
}
for rekord in parser_csv:
kolumnaPierwsza = rekord.get(0)
kolumnaDruga = rekord.get(1)
parser_csv.each do |rekord|
kolumnaPierwsza = rekord.get(0)
kolumnaDruga = rekord.get(1)
end
for (rekord in parserCsv) {
val kolumnaPierwsza = rekord.get(0)
val kolumnaDruga = rekord.get(1)
}
for (rekord in parserCsv) {
def kolumnaPierwsza = rekord.get(0)
def kolumnaDruga = rekord.get(1)
}
Można też pobrać każdy wiersz metodą getRecord z Apache Commons CSV.
W tym przykładzie pierwsze get pobiera pierwszy wiersz. Drugie get pobiera pierwsze pole/wartość tego wiersza:
- JavaScript
- TypeScript
- Python
- Ruby
- Kotlin
- Groovy
parserCsv.getRecords().get(0).get(0)
parserCsv.getRecords().get(0).get(0)
parserCsv.getRecords().get(0).get(0)
parserCsv.getRecords().get(0).get(0)
parserCsv.getRecords().get(0).get(0)
parserCsv.getRecords().get(0).get(0)
Zamykanie
Na końcu należy zamknąć CSVParser:
- JavaScript
- TypeScript
- Python
- Ruby
- Kotlin
- Groovy
parserCsv.close()
parserCsv.close()
parserCsv.close()
parserCsv.close()
parserCsv.close()
parserCsv.close()