🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

ファイル

ファイルとは、文字列に基づいた名前又はパスからアクセスすることができる、任意の情報のブロック又は情報を格納するためのリソースです。

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

エスケープ処理

エスケープ処理とは、一連の文字や一文字に対して、一定の規則に従って別の意味を適用する処理過程です。

文字コード

文字コードとは、文字や記号をコンピュータ上で使用するために用いられるバイト表現を指します。

Q&A

解決済

4回答

2952閲覧

ダブルクォーテーション無しのcsvファイルで文字内にカンマが存在する場合の読み込み処理について

lucas

総合スコア20

CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

ファイル

ファイルとは、文字列に基づいた名前又はパスからアクセスすることができる、任意の情報のブロック又は情報を格納するためのリソースです。

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

エスケープ処理

エスケープ処理とは、一連の文字や一文字に対して、一定の規則に従って別の意味を適用する処理過程です。

文字コード

文字コードとは、文字や記号をコンピュータ上で使用するために用いられるバイト表現を指します。

0グッド

2クリップ

投稿2019/10/20 11:30

CSVファイルの読み込み処理を作成しているのですが
住所等の項目が有り、たまにカンマを含む住所が存在しエラーとなります。
文字列がダブルクォーテーションで囲まれていれば処理ができるのですが
ダブルクォーテーション無しの為、困っております。
ちなみにこのCSVファイルは基幹システムから出力されるもので
それをサブシステムで読み込む様な流れとなります。

対処方法をご存意の方、ご教示下さい。
どうぞよろしくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

crowmt

2019/10/20 11:33

住所以外の項目でカンマが入ることはありますか?
lucas

2019/10/20 11:36

あるとは思いますが、項目は限られます。
crowmt

2019/10/20 11:40

住所だけならカンマの数に応じて住所以降の位置をずらすことで対処できそうですが、他にあるのでしたら難しいかと思います。
takasima20

2019/10/20 11:51

基幹システムと調整するしかないのでは? 他にもサブシステムがあるなら同様の問題はでてるんじゃ…
lucas

2019/10/20 12:01

そうなんです・・・他のサブシステムについては存じ上げませんが、基幹側の敷居が高くて困っているのんですよね。
takasima20

2019/10/20 13:40

おそらく機関側に対応できる人がいないorコストがかかるんで腰が重いんでしょう。 次善の策としては他のサブシステムに聞いて歩調を合わせるくらいでしょうか。
lucas

2019/10/20 14:14

基幹側に交渉できるか確認して、無理ならこちらで対応するようにします。 有難う御座いました。
guest

回答4

0

基幹システムのバグなので直してもらってください。そこで下手に対応すると負の遺産を残すことになるので、可能な限りゴネてください。今はカンマが入るのが住所だけかもしれませんが、放置しておくと今後、名前や電話番号に入ることも容易に想像できます。

投稿2019/10/20 12:08

Zuishin

総合スコア28669

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

matobaa

2019/10/20 12:45

> 可能な限りゴネてください そのとおりだ。可能な限りゴネるべき。高評価
guest

0

そもそも、そのような出力フォーマットがおかしいです。
あなたの部署以外にもそのデータを使用している部署があるなら、その部署も困っているはずです。
出力フォーマットをカンマ区切りでなくタブ区切りにする等の要請をあなたの上司を通して依頼してはいかがでしょうか。そのための上司です。
あなたがいうように、ダブルクオートで囲む案もありますが、
その場合は、データの中にダブルクオートがないことが条件になります。

投稿2019/10/20 12:13

tatsu99

総合スコア5493

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

lucas

2019/10/20 12:20

お陰様でこのような出力フォーマットが異常である事が確認できました。 有難う御座いました。
guest

0

単純にカンマで分離するのではダメなので、そのカンマが住所のものかどうか判断する処理を入れる必要があります
その判断をどうするかというのをまず定義しましょう。

投稿2019/10/20 11:42

y_waiwai

総合スコア88038

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

lucas

2019/10/20 11:58

そうですね。そのカンマが住所のカンマである事が判断できれば問題ありませんね。CSVの構成確認後、対応を考えたいと思います。
guest

0

自己解決

基幹側に交渉できるか確認して、無理ならこちらで対応するようにします。
有難う御座いました。

投稿2019/10/20 14:15

lucas

総合スコア20

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問