CSVファイルの文字項目に改行コードが存在する場合
2つほど質問したいことがあります。もしよろしければアドバイス頂けると嬉しいです。
1つ目
javaでcsvファイルを読み込んで分割したいと思っています。
単純に考えればセパレータ(ここではカンマにしたいと思います)でsplit関数で済むのですが、いくつか特殊?な要件があります。
1.文字項目は"で囲まれる(例:123,"abc",456)
2.文字項目に改行コードが含まれる場合がある。
3.文字項目に"がある場合は""となる。
(4.文字項目に,がある場合は,,となる。)←ここは未確定になります。確定したら別途質問させて頂きたいと思っています。
特にいま気にしているのは2です。
改行コードが含まれているので、普通にファイルを1行読み込んでも途中までしか取得できないと想定しています。
改行が含まれている場合、2行以上(複数の改行の可能性)が1行分なのですが、どのように処理すればよいのか困っています。
2つ目
読み込んだデータをDB(DB2)に登録するのですが、改行コード込みで登録したいと思っています。1つ目の処理と絡んでどのようにすればうまくいくか悩んでいます。
よろしければアドバイス頂けないでしょうか。
No.4ベストアンサー
- 回答日時:
2の回答した者です。
外部ライブラリを使用できないにしても、askaaskaさんの言うとおり
OpenCSVの解析ロジックを参考にしてはどうでしょう?
車輪の再発明はあまりよろしくないですし。
なお、OpenCSVはソースはすべて公開されていますし、解析部分(「CSVReader.java」
と「CSVParser.java」)ぐらいなら、結構簡単に目を通せる規模ですよ。
あと、2つ目の質問ですが、データに改行コードを含んでいてもJDBCで普通にInsert
などできると思いますが、何が問題なのでしょうか?
もう少し詳細に書いていただけると、解答しやすいと思います。
No.3
- 回答日時:
1さんと2さんの意見のいいとこ取りで
OpenCSVを入手して
文字列の解析ロジックを参照すれば
良いんじゃない?
No.2
- 回答日時:
お返事有難うございます。
こういったものがあるのですね。
ただ自由に外部のライブラリを使用できない環境なため、教えて頂いたものを利用することができないのです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- システム CSVファイルのマッピング処理の省力化 1 2022/11/24 00:01
- Java javaのCSVデータ読込についてです 6 2022/07/02 10:58
- Excel(エクセル) 【VBA】指定フォルダに格納中のテキストファイルをエクセルで処理し結果のエクセルを新規フォルダに保存 1 2022/03/25 14:19
- Excel(エクセル) エクセルのVBAについて とあるサイトのコードを参考に、CSVの文字化けを直すVBAを作成しているの 7 2022/11/04 14:15
- Excel(エクセル) PowerQueryに詳しい方教えてください(Office365) 1 2022/07/24 21:11
- その他(プログラミング・Web制作) Pythonで、データファイルと列名ファイルを1つのファイルにしたいです。 1 2023/07/27 20:29
- Visual Basic(VBA) 【至急】 当方初心者です。 マクロについて知恵をお貸しください。 ★したい動作 ①リストE列2行目か 4 2022/09/29 18:56
- その他(プログラミング・Web制作) COBOL数値転記をCOPY句内での仕様 6 2022/06/15 18:48
- Visual Basic(VBA) VBAで、1つのエクセルで、2つのシートからもう1つのシートに条件のある転記コードを教えてください。 1 2023/03/16 18:07
- UNIX・Linux テキストファイルをページ番号付きでコマンドラインから印刷したい 1 2023/02/22 12:47
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAのコマンドボタンの文字列の...
-
エスケープ文字の復帰(¥r)と...
-
ファイルから読み取った改行文...
-
ソースコードの1行が長いとき...
-
COBOLの改行
-
エクセルVBA 文字列領域が不足...
-
ToolTipTextの改行はできないの...
-
JavaMail,本文中の改行について
-
aspで作成するcsvファイルで、e...
-
PHPExcelでのexcelヘッダ編集に...
-
C#における改行を含む文字の探索
-
【VBA】エクセルで最後の不要な...
-
1行ごとに取得して、その改行...
-
項目内改行があるCSVの書式設定...
-
文字列型変数に1024を超えた文...
-
JAVA System.out.println の ...
-
textarea内での改行がechoで反...
-
awkで改行を除いて文字列を抜き...
-
VBでcsv読込TextFieldParser...
-
改行コード(CR/LF)の設...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAのコマンドボタンの文字列の...
-
ソースコードの1行が長いとき...
-
エスケープ文字の復帰(¥r)と...
-
ファイルから読み取った改行文...
-
JAVA System.out.println の ...
-
C++で空Enterの入力を判...
-
COBOLの改行
-
テキストファイルから改行コー...
-
改行について
-
【VBA】エクセルで最後の不要な...
-
1行ごとに取得して、その改行...
-
jsp 改行コードで改行させて表...
-
VBAでCSVをExcelに取り込む時に...
-
エクセルVBA 文字列領域が不足...
-
最終行の改行について
-
改行を読み飛ばす
-
コンボボックスの項目中に改行を
-
テキストボックス行の桁数を制...
-
ExcelVBAでメールを作成してメ...
-
JavaMail,本文中の改行について
おすすめ情報