logo

JavaでCSVファイルを読み取る方法

CSV を意味する カンマ区切りの値 。これは、スプレッドシートやデータベースなど、表形式のデータを単純なテキスト形式で保存するために使用される単純なファイル形式です。内のファイルは、 CSV この形式は、データをテーブルに保存するプログラム (Microsoft Office および Excel) にインポートしたり、プログラムからエクスポートしたりできます。 CSV ファイルでは、ファイル内のさまざまなデータ トークンを識別して区切るために区切り文字が使用されていました。 CSV ファイル形式は、互換性のない形式でネイティブに動作するプログラム間で表形式のデータを移動するときに使用されます。 JavaでCSVファイルを読み込むには以下の方法があります。 CSV ファイルのデフォルトの区切り文字は、 コンマ (、)

Java で配列を出力するには次の方法があります。

  • ジャワ スキャナー クラス
  • ジャワ String.split() 方法
  • 使用する OpenCSV API

CSVファイルの作成方法

CSV ファイルを作成するには 2 つの方法があります。

  • 使用する マイクロソフトエクセル
  • 使用する メモ帳

Microsoft Excelの使用

ステップ1: Microsoft Excelを開きます。

Javaは等しい

ステップ2: 次のデータをファイルに書き込みます。

JavaでCSVファイルを読み取る方法

ステップ 3: 次に、ファイルを保存します。ファイル名を入力してください CSVデモ から CSV (カンマ区切り) を選択します。 タイプとして保存 メニュー。次に、「保存」ボタンをクリックします。

JavaでCSVファイルを読み取る方法

メモ帳の使用

ステップ1: 開ける メモ帳

ステップ2: で区切られたファイルにデータを書き込みます。 コンマ (、) 。例えば:

ヴィヴェク、シン、23、9999999、チャンディーガル

intを文字列Javaに変換する方法

ステップ 3: ファイルを保存します .csv 拡大。

以下のファイルを作成しました。

JavaでCSVファイルを読み取る方法

Javaスキャナクラス

ジャワ スキャナー クラスには、CSV ファイルを読み取るためのさまざまなメソッドが用意されています。 Scanner クラスは、指定されたファイルからスキャンされた値を生成するコンストラクターを提供します。データをトークン形式に分割します。デフォルトで空白と一致する区切り文字パターンを使用します。結果のトークンは、 next() メソッドを使用してさまざまな型の値に変換されます。

 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 } } 

出力:

 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() メソッド

ジャワ String.split() 区切り文字を識別し、行をトークンに分割します。

構文

 public String[] split(String regex) 

このメソッドは、区切り正規表現を解析します。このメソッドは、指定された正規表現の一致を中心にこの文字列を分割することによって計算された文字列の配列を返します。

次の文字列を考えてみましょう。

'これはテーブルです' 正規表現 結果 : {'これはテーブルです'}

次の例では、EOF (ファイルの終わり) 文字に達するまでファイルを 1 行ずつ読み取る BufferedReader クラスを使用します。

 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(); } } } 

出力:

 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] 

OpenCSV APIの使用

OpenCSV は、さまざまなバージョンの CSV ファイルを読み取るための標準ライブラリを提供するサードパーティ API です。このライブラリは、CSV ファイルを処理するためのより適切な制御を提供します。このライブラリは、TDF (タブ区切りファイル) ファイル形式を読み取ることもできます。

電子バンキングの制限

OpenCSVの特徴

  • 1 行あたりの値の数は任意です。
  • 引用符で囲まれた要素内のカンマは無視されます。
  • 複数行にわたるエントリを処理します。

CSVリーダー CSVファイルの読み込みにはクラスを使用します。このクラスは、CSV ファイルを解析するための CSVReader クラス コンストラクターを提供します。

構文

 public CSVReder(Reader reader, char separator) OR public CSVReder(Reader reader) 

パラメーター

Javaメイン

読者: CSV ソースへのリーダー。

区切り文字: エントリを区切るために使用される区切り文字です。

EclipseでCSVファイルを読み取る手順:

ステップ1: という名前のクラスファイルを作成します。 CSV の読み取り例 3 そして次のコードを書きます。

ステップ2: を作成します ライブラリ プロジェクト内のフォルダー。

ステップ 3: ダウンロード opecsv-3.8.jar から

https://repo1.maven.org/maven2/com/opencsv/opencsv/3.8/opencsv-3.8.jar

ステップ 4: をコピーします opencsv-3.8.jar lib フォルダーに貼り付けます。

ステップ5: 次に、プログラムを実行します。

 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(); } } } 

出力:

 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 

区切り文字が異なるCSVファイルの読み込み

次の CSV ファイルでは、トークンを区切るためにセミコロン (;) を使用しています。

バイナリからbcdへ
JavaでCSVファイルを読み取る方法

 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(); } } } 

出力:

 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