ファイル操作/CSV取込みサンプルを作ってみた
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
開始行:
#navi(../)
* CSV取込みサンプルを作ってみた [#g9b7d438]
CSVファイルを1行ずつ読み込み、Stringのsplitで分割し、Arra...
#contents
* 関連記事 [#c8ad8eac]
-[[テキストファイルの読み込みサンプル>ファイル操作/テキス...
-[[テキストファイルの出力>ファイル操作/テキストファイルの...
-[[ファイルを追記モード開き文字列を追加する>ファイル操作/...
//-[[CSV取込みサンプルを作ってみた>ファイル操作/CSV取込み...
* 注意事項 [#r12a01ff]
本サンプルソースは、ファイルの読み込み部分を[[try-with-re...
テキストファイルの読み込みについては以下の記事を参考にし...
-[[テキストファイルの読み込みサンプルソース>ファイル操作/...
* CSV取込みサンプルソース [#q10cf2c4]
本サンプルソースは、引数で渡されたファイルの有無を調べま...
ファイルが存在しない場合は、処理を中断します。~
引数が未指定の場合は、usage()が呼び出され処理を中断します...
ファイルの文字コードについては、System.getProperty("file....
引数に指定されたファイルを開き、カンマ(,)でsplitしたStrin...
その後、幅10で(%10s)でCSVを整形し表示しています。~
尚、全角の場合はString.formatの%sでは、半角分広がり崩れて...
ListにStringの配列で格納すれば、以後、編集が楽であろうと...
&ref(ReadCsv.java); LF
import java.util.List;
import java.util.ArrayList;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.io.FileNotFoundException;
import java.io.IOException;
class ReadCsv {
String csvfile;
private String getCsvFilename() {
return this.csvfile;
}
private void setCsvFilename(String s) {
this.csvfile = s;
}
private void usage() {
System.err.println("Usage: java ReadCsv <csv fil...
}
// constructor
ReadCsv(String[] args) {
// check args
if (args.length != 1) {
usage();
System.exit(1);
}
// check file
if (!(new File(args[0])).exists()) {
System.err.println(args[0] + ": file not fou...
System.exit(2);
}
// set csv filename
setCsvFilename(args[0]);
}
// read csvfile
private List<String[]> readCsvfile2Array() {
String csv = this.getCsvFilename();
List<String[]> csvList = new ArrayList<String[]>...
try (BufferedReader br = new BufferedReader(
new InputStreamReader(
new FileInputStream(csv), System.getProp...
String l = br.readLine();
while (l != null) {
csvList.add(l.split(","));
l = br.readLine();
}
} catch (FileNotFoundException e) {
System.err.println(csv + " not found.");
} catch (IOException e) {
System.err.println("I/O error.");
} catch (Exception e) {
e.printStackTrace();
}
return csvList;
}
// main
public static void main(String[] args) {
ReadCsv me = new ReadCsv(args);
List<String[]> csvList = me.readCsvfile2Array();
// display csvList
if (csvList != null) {
System.out.printf("%d line\n", csvList.size(...
for (String[] s : csvList) {
String l ="|";
for (int i = 0; s.length > i; i++) {
l += String.format("%10s|", s[i]);
}
System.out.println(l);
}
}
}
}
* 実行結果 [#a6628b91]
上記のサンプルソースをコンパイルして実行してみます。~
使用したCSVファイルは以下の通りです。
&ref(data.csv); UTF-8, LF
Java,Ruby,Python,Perl,PHP
10,20,30,40,50
あ,い,う,え,お
+ コンパイルします。
$ javac ReadCsv.java
#br
+実行します。
$ java ReadCsv data.csv
3 line
| Java| Ruby| Python| Perl| PHP|
| 10| 20| 30| 40| 50|
| あ| い| う| え| ...
ちなみに引数なし、引数に指定したファイルがない場合は以下...
$ java ReadCsv
Usage: java ReadCsv <csv file>
$ java ReadCsv foo.csv
foo.csv: file not found.
以上、JavaでCSVファイルを読み込み、加工しやすい?ListにSt...
終了行:
#navi(../)
* CSV取込みサンプルを作ってみた [#g9b7d438]
CSVファイルを1行ずつ読み込み、Stringのsplitで分割し、Arra...
#contents
* 関連記事 [#c8ad8eac]
-[[テキストファイルの読み込みサンプル>ファイル操作/テキス...
-[[テキストファイルの出力>ファイル操作/テキストファイルの...
-[[ファイルを追記モード開き文字列を追加する>ファイル操作/...
//-[[CSV取込みサンプルを作ってみた>ファイル操作/CSV取込み...
* 注意事項 [#r12a01ff]
本サンプルソースは、ファイルの読み込み部分を[[try-with-re...
テキストファイルの読み込みについては以下の記事を参考にし...
-[[テキストファイルの読み込みサンプルソース>ファイル操作/...
* CSV取込みサンプルソース [#q10cf2c4]
本サンプルソースは、引数で渡されたファイルの有無を調べま...
ファイルが存在しない場合は、処理を中断します。~
引数が未指定の場合は、usage()が呼び出され処理を中断します...
ファイルの文字コードについては、System.getProperty("file....
引数に指定されたファイルを開き、カンマ(,)でsplitしたStrin...
その後、幅10で(%10s)でCSVを整形し表示しています。~
尚、全角の場合はString.formatの%sでは、半角分広がり崩れて...
ListにStringの配列で格納すれば、以後、編集が楽であろうと...
&ref(ReadCsv.java); LF
import java.util.List;
import java.util.ArrayList;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.io.FileNotFoundException;
import java.io.IOException;
class ReadCsv {
String csvfile;
private String getCsvFilename() {
return this.csvfile;
}
private void setCsvFilename(String s) {
this.csvfile = s;
}
private void usage() {
System.err.println("Usage: java ReadCsv <csv fil...
}
// constructor
ReadCsv(String[] args) {
// check args
if (args.length != 1) {
usage();
System.exit(1);
}
// check file
if (!(new File(args[0])).exists()) {
System.err.println(args[0] + ": file not fou...
System.exit(2);
}
// set csv filename
setCsvFilename(args[0]);
}
// read csvfile
private List<String[]> readCsvfile2Array() {
String csv = this.getCsvFilename();
List<String[]> csvList = new ArrayList<String[]>...
try (BufferedReader br = new BufferedReader(
new InputStreamReader(
new FileInputStream(csv), System.getProp...
String l = br.readLine();
while (l != null) {
csvList.add(l.split(","));
l = br.readLine();
}
} catch (FileNotFoundException e) {
System.err.println(csv + " not found.");
} catch (IOException e) {
System.err.println("I/O error.");
} catch (Exception e) {
e.printStackTrace();
}
return csvList;
}
// main
public static void main(String[] args) {
ReadCsv me = new ReadCsv(args);
List<String[]> csvList = me.readCsvfile2Array();
// display csvList
if (csvList != null) {
System.out.printf("%d line\n", csvList.size(...
for (String[] s : csvList) {
String l ="|";
for (int i = 0; s.length > i; i++) {
l += String.format("%10s|", s[i]);
}
System.out.println(l);
}
}
}
}
* 実行結果 [#a6628b91]
上記のサンプルソースをコンパイルして実行してみます。~
使用したCSVファイルは以下の通りです。
&ref(data.csv); UTF-8, LF
Java,Ruby,Python,Perl,PHP
10,20,30,40,50
あ,い,う,え,お
+ コンパイルします。
$ javac ReadCsv.java
#br
+実行します。
$ java ReadCsv data.csv
3 line
| Java| Ruby| Python| Perl| PHP|
| 10| 20| 30| 40| 50|
| あ| い| う| え| ...
ちなみに引数なし、引数に指定したファイルがない場合は以下...
$ java ReadCsv
Usage: java ReadCsv <csv file>
$ java ReadCsv foo.csv
foo.csv: file not found.
以上、JavaでCSVファイルを読み込み、加工しやすい?ListにSt...
ページ名: