CSVファイルについて
◇-?CSVファイルについて-yeye-11/24-11:28(203)-No.383197 ┗?!Re:CSVファイルについて...-jtaka[BJCB]-11/24-14:36(200)-No.383222 ┗?!!Re:CSVファイルについて...-yeye-11/27-15:02(127)-No.383678 ┣?!!!Re:CSVファイルについて...-jtaka[BJCB]-11/27-15:24(127)-No.383680 ┃ ┗?!!!!Re:CSVファイルについて...-yeye-11/27-15:41(127)-No.383685 ┃ ┣?!!!!~Re:CSVファイルについて...-jtaka[BJCB]-11/27-16:02(126)-No.383687 ┃ ┗?!!!!!Re:CSVファイルについて...-みなも-11/27-16:54(125)-No.383691 ┃ ┗?!!!!!!Re:CSVファイルについて...-yeye-11/28-13:04(105)-No.383831 ┃ ┗?!!!!!!!Re:CSVファイルについて...-みなも-11/28-16:44(102)-No.383865 ┃ ┗?!!!!!!!!Re:CSVファイルについて...-ZONE-11/29-10:07(84)-No.383985 ┃ ┗?!!!!!!!!!Re:CSVファイルについて...-みなも-11/29-13:29(81)-No.384024 ┃ ┗?!!!!!!!!!!Re:CSVファイルについ...-ZONE-11/29-14:59(79)-No.384041 ┗?!!!Re:CSVファイルについて...-shintok-11/29-00:05(94)-No.383943 ┗?!!!!Re:CSVファイルについて...-みなも-11/29-13:34(81)-No.384025 ┗?!!!!!Re:CSVファイルについて...-shintok-11/29-16:27(78)-No.384047
▲このページのトップに戻る
▲このページのトップに戻る
▲このページのトップに戻る
▲このページのトップに戻る
▲このページのトップに戻る
▲このページのトップに戻る
▲このページのトップに戻る
▲このページのトップに戻る
▲このページのトップに戻る
▲このページのトップに戻る
▲このページのトップに戻る
▲このページのトップに戻る
▲このページのトップに戻る
▲このページのトップに戻る
▲このページのトップに戻る
383197 | CSVファイルについて | yeye | 2006/11/24-11:28 |
メーカー名:富士通 OS名:WindowsXp Professional パソコン名:FMV-820MT ハード関連: CSVファイルについて ソフト関連: CSVファイルについて 使用回線:ADSL -- こんにちは VB利用して、AccessのテーブルデータをCSVファイルにエクスポートしたが、データフィールドに""が付いています。 ""付かないようなエクスポート方法を教えてもらえないでしょうか? 宜しくお願いします。 |
▲このページのトップに戻る
383222 | Re:CSVファイルについて | jtaka[BJCB] | 2006/11/24-14:36 |
記事番号383197へのコメント 文字列データとして扱われているものをはき出すときはダブルクォーテーションで 括るのが自然だと思うんだけど。問題も発生しにくいだろうし。数値データも クォートした方が0埋めとかの付帯情報をつけるのに役立ちそうだし。 というか、ダブルクォーテーションがつくとなんか問題でもあるんですか? |
▲このページのトップに戻る
383678 | Re:CSVファイルについて | yeye | 2006/11/27-15:02 |
記事番号383222へのコメント jtaka[BJCB]さんは No.383222「Re:CSVファイルについて」で書きました。 ご返事をありがとうございました。 このCSVファイルのデータをプログラム組んでウェッブ上に表示するのですが、""付くと見た目が悪いので、除きたいです。 何か良い方法無いかを教えて頂きたいです。 宜しくお願いします。 |
▲このページのトップに戻る
383680 | Re:CSVファイルについて | jtaka[BJCB] | 2006/11/27-15:24 |
記事番号383678へのコメント >このCSVファイルのデータをプログラム組んでウェッブ上に表示するのですが、 そのプログラムの中でダブルクォーテーションを除去するようにする処理を おこなったらどうなのですか? CSVファイルはあくまで情報交換のためのファイル形式で、表示のためのものでは ないと思います。表示はアプリケーションの仕事だと思います。 |
▲このページのトップに戻る
383685 | Re:CSVファイルについて | yeye | 2006/11/27-15:41 |
記事番号383680へのコメント jtaka[BJCB]さんは No.383680「Re:CSVファイルについて」で書きました。 アドバイスをありがとうございました。 パールで組んだプログラムですが、""を除去する為、どのように編集するかを教えていただければと思います。 |
▲このページのトップに戻る
383687 | Re:CSVファイルについて | jtaka[BJCB] | 2006/11/27-16:02 |
記事番号383685へのコメント それぐらい自分で考えろ!というのは酷ですか? 正味の話、Perlは使ったことがないのでおいらには無理ですが。 MSBasic7.1とかBorlandC++とかでバイト列の読み込みと編集をおこなうプログラムは 書いたことはありますが、1byteごとに読み出しつつダブルクォートに出会ったら 破棄するとか、バッファに入ったものをスキャンして破棄するぐらいのことで 十分だと思うんですが。 |
▲このページのトップに戻る
383691 | Re:CSVファイルについて | みなも | 2006/11/27-16:54 |
記事番号383685へのコメント yeyeさんは No.383685「Re:CSVファイルについて」で書きました。 text = "," text + "," OUTPUT_TEXT 文字列 textdata() 文字列 スタート位置 数字型 終了位置 数字型 j=0 for i =1 to maxsize if 二文字 = ","" ([,"]を見つけるぞ、ここが文字の開始位置だ) (文字始まり) スタート位置を保持 else if 二文字 = ""," ([",]を見つけるぞ、ここまで文字だ) (文字終わり) 終了位置を保持 配列を確保するぞ textdata(j) = 開始位置と終了位置から配列に入れるぞ! j++ end if next for j=0 to (textdataの配列) ダブルクオーテションをハズすぞ! if textdata(j) ="""" (CSVのフィールドが空だ) textdata(j)="" else (両端の一文字[これ→"ね]以外は要らないよね?) textdata(j) = textdata(j)の両端一文字削る ene if (CSVに戻すぞ) OUTPUT_TEXT=OUTPUT_TEXT+ textdata(j) + "," next こんなんで駄目? |
▲このページのトップに戻る
383831 | Re:CSVファイルについて | yeye | 2006/11/28-13:04 |
記事番号383691へのコメント みなもさんは No.383691「Re:CSVファイルについて」で書きました。 詳しいプログラムをありがとうございます。パールに組んでやってみます。 因みに、 if textdata(j) ="""" (CSVのフィールドが空だ) textdata(j)="" else なんですが、フィールドの値が""の場合、空にすることですか? |
▲このページのトップに戻る
383865 | Re:CSVファイルについて | みなも | 2006/11/28-16:44 |
記事番号383831へのコメント yeyeさんは No.383831「Re:CSVファイルについて」で書きました。 >なんですが、フィールドの値が""の場合、空にすることですか? そーです、文字列の ["]を取りたい訳なんですから 手っ取り早く空のデータを突っ込んで、[""]を消してる訳なんです フィールドが空な場合でもCSVでは[""]と入っている場合ですね 例1) "りんご","みかん","ぶどう","","もも" ココでは 3番目の配列ですね 付け加えるなら フィールドが空な場合は["]が付かない場合の処理も 有った方が良いかもですね 例2) "りんご","みかん","ぶどう",,"もも" if textdata(j) ="""" (CSVのフィールドが空 例1のパターン) textdata(j)="" else if textdata(j) ="" (CSVのフィールドが空 例2のパターン) なにもしないよ else 両端削除〜 end 無論 ifを使わず "" は "ほにゃらら〜" を同じ処理してもらっても構いませんよ |
▲このページのトップに戻る
383985 | Re:CSVファイルについて | ZONE | 2006/11/29-10:07 |
記事番号383865へのコメント 「"」で囲まれたフィールドに「"」が実データとして含まれている場合の対処も必要です。 「"」に「"」が補われ「""」となります。 「"3.5""FD"」→「3.5"FD」 |
▲このページのトップに戻る
384024 | Re:CSVファイルについて | みなも | 2006/11/29-13:29 |
記事番号383985へのコメント ZONEさんは No.383985「Re:CSVファイルについて」で書きました。 確かに「"」「,」の文字は注意必要ですよね でも、""で囲まれた中は必ず文字列とするという 意味じゃなかったでしたっけ? ちょっと作ってみますね(汗) 「,」の文字は、CSVの"みかん,4個","りんご,10個" も文字列になれば・・・ Arry(0)=みかん,4個 Arry(1)=りんご,10個 最後にCSVに戻す時はNGでしょうけど・・・ あー今見ると、区分け文字探す所上手くいきませんかな? |
▲このページのトップに戻る
384041 | Re:CSVファイルについて | ZONE | 2006/11/29-14:59 |
記事番号384024へのコメント >確かに「"」「,」の文字は注意必要ですよね >でも、""で囲まれた中は必ず文字列とするという >意味じゃなかったでしたっけ? 基本的にはその通りなんですが、CSVファイルを作成するときの条件がありますので、 その条件に合わせて「"」を外す必要があります。 私が把握している条件は以下の通りです。 ・文字列は必ずしも「"」で囲む必要は無い。 ・文字列に「"」が含まれる場合は「"」を補い「""」とする。 および全体を「"」で囲む。 ・文字列に区切り文字(「,」とかTABとか)が含まれる場合は全体を「"」で囲む。 例 ・ABCD → ABCD 又は "ABCD" ・AB"CD → "AB""CD" ・1,000 → "1,000" データベースにCSVファイルでデータを渡すときに調べたものです。 ExcelでCSVファイルとしてセーブすると良く解ります。 Excelの場合、セルに数字以外の文字が含まれると必ず「"」で囲まれます。 |
▲このページのトップに戻る
383943 | Re:CSVファイルについて | shintok | 2006/11/29-00:05 |
記事番号383678へのコメント yeyeさんは No.383678「Re:CSVファイルについて」で書きました。 >""付くと見た目が悪いので、除きたいです。 単に " をとるだけのワンライナー perl -pe 'tr/\"//d' < 入力ファイル >出力ファイル |
▲このページのトップに戻る
384025 | Re:CSVファイルについて | みなも | 2006/11/29-13:34 |
記事番号383943へのコメント shintokさんは No.383943「Re:CSVファイルについて」で書きました。 perlじゃ無いんですが それ、最初に考えました でも、「"」を意図して入れていた場合も置換されません? |
▲このページのトップに戻る
384047 | Re:CSVファイルについて | shintok | 2006/11/29-16:27 |
記事番号384025へのコメント みなもさんは No.384025「Re:CSVファイルについて」で書きました。 >でも、「"」を意図して入れていた場合も置換されません? その通りです。だから「単に " を取るだけ」です。 正規表現を使って, 行頭の「"」, 行末の「"」,「,」の前の「"」, 「,」の後ろの「"」に限定して削除するのは簡単ですが, それでも例外の可能性はありますね。 |
何か一言(本ページで参考になったならないを含めて残してあります)
◎:解決 ○:参考になった ×:参考にならなかった !:アドバイスあり
参考 | 回数 | 投稿日時 | 何か一言 |
---|