The CSV apzīmē Ar komatu atdalītas vērtības . Tas ir vienkāršs faila formāts, ko izmanto tabulas datu glabāšanai vienkāršā teksta formā, piemēram, izklājlapā vai datu bāzē. Faili mapē CSV formātu var importēt un eksportēt no programmām (Microsoft Office un Excel), kas glabā datus tabulās. CSV failā tika izmantots atdalītājs, lai failā identificētu un atdalītu dažādus datu marķierus. CSV faila formāts tiek izmantots, kad mēs pārvietojam tabulas datus starp programmām, kas sākotnēji darbojas nesaderīgos formātos. Ir šādi veidi, kā lasīt CSV failu Java. CSV faila noklusējuma atdalītājs ir a komats (,) .
Ir šādi veidi, kā drukāt masīvu Java:
- Java Skeneris klasē
- Java String.split() metodi
- Izmantojot OpenCSV API
Kā izveidot CSV failu
Ir divi veidi, kā izveidot CSV failu:
- Izmantojot Microsoft Excel
- Izmantojot Notepad
Izmantojot Microsoft Excel
1. darbība: Atveriet Microsoft Excel.
2. darbība: Ierakstiet failā šādus datus:
3. darbība: Tagad saglabājiet failu. Norādiet faila nosaukumu CSVDemo un atlasiet CSV (atdalīts ar komatu). saglabāt kā veidu izvēlne. Tagad noklikšķiniet uz pogas Saglabāt.
Izmantojot Notepad
1. darbība: Atvērt piezīmju grāmatiņa .
2. darbība: Ierakstiet dažus datus failā, atdalot tos ar komats (,) . Piemēram:
Vivek, Singh, 23, 9999999, Čandigarha
3. darbība: Saglabājiet failu ar .csv pagarinājumu.
Mēs esam izveidojuši šādu failu.
Java skenera klase
Java Skeneris klase nodrošina dažādas metodes, ar kurām mēs varam lasīt CSV failu. Skenera klase nodrošina konstruktoru, kas rada vērtības, kas skenētas no norādītā faila. Tas sadala datus marķiera formā. Tas izmanto norobežotāju modeli, kas pēc noklusējuma atbilst atstarpei. Iegūtie marķieri pēc tam tiek pārvērsti dažāda veida vērtībās, izmantojot next() metodes.
Piemērs
kobola programmēšana
import java.io.*; import java.util.Scanner; public class ReadCSVExample1 { public static void main(String[] args) throws Exception { //parsing a CSV file into Scanner class constructor Scanner sc = new Scanner(new File('F:\CSVDemo.csv')); sc.useDelimiter(','); //sets the delimiter pattern while (sc.hasNext()) //returns a boolean value { System.out.print(sc.next()); //find and returns the next complete token from this scanner } sc.close(); //closes the scanner } }
Izvade:
Shashank, Mishra, Auditor, 909090090, 45000, Moti Vihar Naveen, Singh, Accountant, 213344455, 12000, Shastri Nagar Mahesh, Nigam, Sr. Manager, 787878878, 30000, Ashok Nagar Manish, Gupta, Manager, 999988765, 20000, Saket Nagar
Java String.split() metode
Java String.split() identificē norobežotāju un sadala rindas marķieros.
Sintakse
public String[] split(String regex)
Metode parsē norobežojošo regulāro izteiksmi. Metode atgriež virknes masīvu, kas aprēķināta, sadalot šo virkni ap norādītās regulārās izteiksmes atbilstībām.
Apsveriet virkni:
'this:is:a:table' Regex Rezultāts : {'this', 'is', 'a', 'table'}
Piemērs
Nākamajā piemērā mēs izmantojam BufferedReader klasi, kas nolasa failu rindiņu pa rindiņai, līdz tiek sasniegta EOF (faila beigas) rakstzīme.
import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; public class ReadCSVExample2 { public static void main(String[] args) { String line = ''; String splitBy = ','; try { //parsing a CSV file into BufferedReader class constructor BufferedReader br = new BufferedReader(new FileReader('CSVDemo.csv')); while ((line = br.readLine()) != null) //returns a Boolean value { String[] employee = line.split(splitBy); // use comma as separator System.out.println('Employee [First Name=' + employee[0] + ', Last Name=' + employee[1] + ', Designation=' + employee[2] + ', Contact=' + employee[3] + ', Salary= ' + employee[4] + ', City= ' + employee[5] +']'); } } catch (IOException e) { e.printStackTrace(); } } }
Izvade:
Employee [First Name= Shashank, Last Name= Mishra, Designation= Auditor, Contact= 909090090, Salary= 45000, City= Moti Vihar] Employee [First Name= Naveen, Last Name=Singh, Designation= Accountant, Contact=213344455, Salary= 12000, City= Shastri Nagar] Employee [First Name= Mahesh, Last Name=Nigam, Designation= Sr. Manager, Contact=787878878, Salary= 30000, City= Ashok Nagar] Employee [First Name= Manish, Last Name=Gupta, Designation= Manager, Contact=999988765, Salary= 20000, City= Saket Nagar]
Izmantojot OpenCSV API
OpenCSV ir trešās puses API, kas nodrošina standarta bibliotēkas dažādu CSV failu versiju lasīšanai. Bibliotēka nodrošina labāku kontroli, lai apstrādātu CSV failu. Bibliotēka var arī lasīt TDF (tabulēšanas atdalīta faila) faila formātu.
iteratora java karte
OpenCSV funkcijas
- Jebkurš vērtību skaits vienā rindā.
- Ignorē komatus pēdiņās esošajos elementos.
- Apstrādā ierakstus, kas aptver vairākas rindas.
The CSVReader klase tiek izmantota, lai lasītu CSV failu. Klase nodrošina CSVReader klases konstruktoru CSV faila parsēšanai.
Sintakse
public CSVReder(Reader reader, char separator) OR public CSVReder(Reader reader)
Parametri
lasītājs: Lasītājs uz CSV avotu.
atdalītājs: Tas ir norobežotājs, ko izmanto ierakstu atdalīšanai.
Darbības, lai nolasītu CSV failu aptumsumā:
1. darbība: Izveidojiet klases failu ar nosaukumu LasītCSVpiemērs3 un ierakstiet šādu kodu.
2. darbība: Izveidot a lib mapi projektā.
java ievade
3. darbība: Lejupielādēt opecsv-3.8.jar no
https://repo1.maven.org/maven2/com/opencsv/opencsv/3.8/opencsv-3.8.jar
4. darbība: Kopējiet opencsv-3.8.jar un ielīmējiet mapē lib.
5. darbība: Tagad palaidiet programmu.
Piemērs
import java.io.FileReader; import com.opencsv.CSVReader; public class ReadCSVExample3 { public static void main(String[] args) { CSVReader reader = null; try { //parsing a CSV file into CSVReader class constructor reader = new CSVReader(new FileReader('F:\CSVDemo.csv')); String [] nextLine; //reads one line at a time while ((nextLine = reader.readNext()) != null) { for(String token : nextLine) { System.out.print(token); } System.out.print(' '); } } catch (Exception e) { e.printStackTrace(); } } }
Izvade:
Shashank Mishra Auditor 909090090 45000 Moti Vihar Naveen Singh Accountant 213344455 12000 Shastri Nagar Mahesh NigamSr. Manager 787878878 30000 Ashok Nagar Manish Gupta Manager 999988765 20000 Saket Nagar
Notiek CSV faila lasīšana ar citu atdalītāju
Nākamajā CSV failā marķieru atdalīšanai esam izmantojuši semikolu (;).
Piemērs
import java.io.FileReader; import java.io.IOException; import com.opencsv.CSVReader; public class ReadCSVExample4 { public static void main(String[] args) { CSVReader reader = null; try { reader = new CSVReader(new FileReader('F:\CSVDemo.csv')); String [] nextLine; //read one line at a time while ((nextLine = reader.readNext()) != null) { for(String token : nextLine) { System.out.println(token); } System.out.print(' '); } } catch (Exception e) { e.printStackTrace(); } } }
Izvade:
Shashank; Mishra; Auditor; 909090090; 45000; Moti Vihar Naveen; Singh; Accountant; 213344455; 12000; Shastri Nagar Mahesh; Nigam; Sr. Manager; 787878878; 30000; Ashok Nagar Manish; Gupta; Manager; 999988765; 20000; Saket Nagar