- - PR -
CSVファイルの読込処理について
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-01-10 15:10
お世話になります。
イノキイズムと申します。 CSVファイルの読込処理にて項目そのものに カンマが含まれている場合の対象方法がわからず困っています。 皆さまはこのような場合どのように対処されておられるのでしょうか? ご教授お願い致します。 ※開発言語はC#です。 以上、宜しくお願いします。 | ||||||||||||
|
投稿日時: 2006-01-10 15:16
CSVファイルの区切り文字をカンマではなく、TABにすればよいのでは?
※いうまでもなく、項目内にTABが含まれないことが前提ですが | ||||||||||||
|
投稿日時: 2006-01-10 15:29
データは""でくくられてます?
その場合はちょん切られたものを復元するか、 またはTokenizerに頼らず、1文字ずつ確認するか、 どちらかで対処できると思います。 | ||||||||||||
|
投稿日時: 2006-01-10 16:04
イノキイズムです。
ホッピー様、Edosson様ご回答ありがとうございました。
はい、データは""でくくられています。 「その場合はちょん切られたものを復元する、 または、1文字ずつ確認するか」と ありますが、すみませんイメージがわきません。 ※「このカンマは区切り文字のカンマで、このカンマは項目のカンマだよ」と 判定する方法が思いつきません…。 ホッピー様にご提案頂きましたCSVファイルの区切り文字を カンマ以外(TAB)にする方法ですが、できれば、 項目そのものに区切り文字が含まれいても対処できるような プログラムにしたいと考えております。 | ||||||||||||
|
投稿日時: 2006-01-10 16:05
カンマは文字列ですよね? 文字列は二重引用符で囲みます。 TSV でも OK なんでしょうけど、データ型は意識するべきだと思うからです。 どのみち今度はタブを表現する術が必要になった場合に困りますし... 二重引用符自体を表現する場合は、エスケープします。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||||||
|
投稿日時: 2006-01-10 16:19
つまり、二重引用符で括られた項目を 1 つのデータだと認識できているわけですね。 解決してるじゃないですか?
なので、何故この状況になっているのかが判りません。 二重引用符に囲まれていないカンマは、区切り文字。 二重引用符に囲まれたカンマは、文字列ですよね? _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||||||
|
投稿日時: 2006-01-10 16:35
>イノキイズムさん
念のため確認したいのですが、 取り扱うcsvファイルは 文字列のみ”でくくって、数値はくくらない、 といった構造にはなってませんよね? | ||||||||||||
|
投稿日時: 2006-01-10 16:50
イノキイズムです。
じゃんぬねっと様、ホッピー様ご回答ありがとうございました。
申し訳ありません。言葉足らずでした。 CSVの項目そのものに二重引用符が含まれていることが 有り得ることを想定しております。
いえ、なっております。 データは文字列のみ二重引用符でくくり、数値に関しては くくらないという構造をとっております。 |