09
Jan
CSV as Map of Maps
import java.io.BufferedReader;
import java.io.FileReader;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
public class ReadCSVasMapOfMaps {
public static Map<String, Map<String, String>> getData(String fileName) {
Map<String, Map<String, String>> fileData = new HashMap<>();
int rowCount = 0;
String csvRowData = null;
try (BufferedReader csvFileData = new BufferedReader(new FileReader(fileName))) {
if ((csvRowData = csvFileData.readLine()) != null) {
String[] rowKeys = csvRowData.split(",");
while ((csvRowData = csvFileData.readLine()) != null) {
String[] testCaseNumber = csvRowData.split(",");
Map<String, String> dataMap = new HashMap<>();
String[] rowData = csvRowData.split(",");
for (int i = 0; i < rowKeys.length; i++) {
dataMap.put(rowKeys[i], rowData[i]);
}
fileData.put(testCaseNumber[0], dataMap);
}
} else {
System.out.println("test data file contains no data....");
}
} catch (Exception e) {
System.out.println("failed to read CSV file {}{}" + e + e.getMessage());
}
return fileData;
}
public static void main(String[] args) {
System.out.println(getData("C:\\abc.csv"));
}
}
0 comments