Geformatteerde CSV-bestanden schrijven
Na het opschonen van je data moet je deze exporteren voor verschillende afnemers. Het analytics-team wil standaard CSV's, Europese systemen verwachten puntkomma's als scheidingsteken en een legacy-mainframe vereist bestanden zonder header. Met flexibele exportopties zorg je ervoor dat je data soepel integreert in uiteenlopende technische omgevingen.
De klassen Table en CsvWriteOptions zijn alvast voor je geïmporteerd.
Deze oefening maakt deel uit van de cursus
Data importeren in Java
Oefeninstructies
- Schrijf de tabel als een standaard CSV.
- Schrijf met een puntkomma als scheidingsteken.
- Schrijf zonder headers voor een legacy-systeem.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
public class WriteCSVFiles {
public static void main(String[] args) {
try {
Table employeePerformance = Table.read().csv("employee_performance.csv");
System.out.println("Original data structure:");
System.out.println(employeePerformance.structure());
System.out.println("First 3 rows:");
System.out.println(employeePerformance.first(3));
// Write the table as a standard CSV
employeePerformance.____.csv("employee_performance_standard.csv");
// Write with a semicolon separator
employeePerformance.write().csv(CsvWriteOptions
.____("employee_performance_semicolon.csv")
.____(';')
.build());
// Write without headers for a legacy system
employeePerformance.write().csv(CsvWriteOptions
.builder("employee_performance_noheader.csv")
.____(____)
.build());
System.out.println("\nFiles successfully written to output directory.");
Table readBack = Table.read().csv("employee_performance_standard.csv");
System.out.println("\nVerification - Reading back semicolon-separated file:");
System.out.println(readBack.first(3));
} catch (Exception e) {
System.err.println("Error processing CSV files: " + e.getMessage());
}
}
}