Hello Buddies.
CSV: A CSV is a comma separated values file which allows data to be saved in a table structured format
Let's try to read a CSV file using java, filter out the required rows and create a new CSV per our own requirements.
Input - Provided as a path for the file having below details -
ID | NAME | AGE | GENDER | OCCUPATION | ADDRESS | |
1 | ABC | 22 | M | SE | IN | |
2 | DEF | 32 | F | SE | US | |
3 | ABC | 12 | M | SE | UK | |
4 | DEF | 42 | F | SE | IN | |
5 | ABC | 52 | M | SE | US | |
6 | DEF | 53 | F | SE | UK | |
7 | ABC | 60 | M | SE | IN | |
8 | DEF | 67 | F | SE | US | |
9 | ABC | 74 | M | SE | UK | |
10 | DEF | 81 | F | SE | IN | |
11 | ABC | 88 | M | SE | US | |
We will filter out the people living in India and will have a new CSV only for those people.
Here's a code snippet -
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; public class CSVReader { private static String mainPath = "C:\\\\Users\\\\namit.sharma\\\\Downloads\\\\"; public static void main(String[] args) throws IOException { FileReader fileReader = new FileReader(new File(mainPath + "sampleExcel1.csv")); BufferedReader bufferedReader = new BufferedReader(fileReader); String string; do { string = bufferedReader.readLine(); if (null != string) { System.out.println(string); filterForIndians(string); } } while (null != string); bufferedReader.close(); } private static void filterForIndians(String string) throws IOException { File file = new File(mainPath + "fileredCsv.csv"); if (file.exists()) { file.delete(); } FileWriter fileWriter = new FileWriter(new File(mainPath + "fileredCsv.csv"),true); if ("IN".equals(string.split(",")[5])) { BufferedWriter bufferedWriter = new BufferedWriter(fileWriter); bufferedWriter.write(string+"\n"); bufferedWriter.close(); } } }
Now we can check the generated csv. It will have the desired rows -
1 | ABC | 22 | M | SE | IN |
4 | DEF | 42 | F | SE | IN |
7 | ABC | 60 | M | SE | IN |
10 | DEF | 81 | F | SE | IN |