Foros: Q&Aフォーラム (Thread #15686)

csvmake2.exeにおける文字列値処理に関する質問 (2007-08-01 16:56 by hk14010 #31020)


はじめまして。

今回、CSV→EXCEL変換処理にcsvmake2.exeを
使用させていただこうかと考え、
現在、導入に向けた確認テストを行っているのですが、
前後に半角SPを含む文字列値を取り込もうとすると
半角SPが省略されてExcelに取り込まれてしまいます。
(
 尚、対象文字列値は以下のように
 ダブルコーテーションで囲まれています。
 例: 
  ①CSVファイル中表記:…," ABC ",…
    ↓
  ②EXCELファイル中対象カラム表記:ABC
)
当方要望としては前後の半角SPを切り詰めず、
あるがままの値を対象項目に反映させたい
と考えているのですが、上記の現象は
避けられないものでしょうか?

回避策等がありましたら
お教えいただけますようお願い致します。
(現在の仕様では回避不能なのであれば
修正対応をお願い致します。)

お手数をお掛けしますが
よろしくお願い致します。

RE:csvmake2.exeにおける文字列値処理に関する質問 (2007-08-01 20:34 by sky_seeker99 #31024)

hk14010さん、初めまして。

以下のCSVファイルを用意してcsvmake2を実行してみました。

" ABC"," ABC ","ABC "

しかし、半角SPが切り詰まれる事がなくExcelファイルに反映されました。
こちらでは再現はしないのですが、何か違う所があるのでしょうか?

また、以下のCSVファイルの場合も半角SPは切り詰められません。

ABC, ABC ,ABC ,

しかし、数字のみになると、半角SPは切り詰められてしまいます。

" 9","8 "," 0 "

もう一度、確認していただけないでしょうか?

よろしくお願いします。

Responder al #31020

RE:csvmake2.exeにおける文字列値処理に関する質問(その2) (2007-08-01 22:09 by sky_seeker99 #31029)

たびたび、すいません。

試しに以下のページより、「CSVファイル文字列属性変換プログラム 1.02」
をダウンロードしてcsvstrcnv2.exeをパスの通ったところにコピーしてください。

http://csvpp.sourceforge.jp/pukiwiki/pukiwiki.php?download%2Fkobetsu

そして、以下のように実行していただけないでしょうか?

csvmake2 aaa.xls -x csvstrcnv2 aaa.csv

csvstrcnv2は文字列に変換するツールでして、セルのすべてを文字列に変換してから、
Excelファイルに変換します。

よろしくお願いします。



Responder al #31024

RE: csvmake2.exeにおける文字列値処理に関する質問 (2007-08-02 03:24 by hk14010 #31033)

sky_seeker99さん、早速の回答ありがとうございます。
ご指摘の通り、こちらも数字のみの文字列値の場合のみで
発生していました。
(具体例が間違っていました。申し訳ありませんでした。)

文字列変換ツールcsvstrcnvも機能拡張版を
ご用意いただけたようでありがとうございます。

ただ、今回ご用意いただいたcsvstrcnv2ですが
ダブルクォーテーション(")もしくはシングルクォーテーション(')で
囲まれたセルのみを対象に文字列変換処理を
行えるようにはできないものでしょうか?
(対象データの情報を確認したところ、数量、日時情報等
文字列として変換されてしまうと問題になる項目が
幾つかあるようでして…再検討いただけると
非常に有難いのですが…度々申し訳ありません。)

よろしくお願い致します。



Responder al #31020

RE: csvmake2.exeにおける文字列値処理に関する質問 (2007-08-03 22:43 by sky_seeker99 #31070)

ダブルコーテーションについては理解できるのですが、シングルコーテーションで囲まれた仕様は、
どの様なアプリケーションで出力した結果になるのでしょうか?
Excelでは、シングルコーテーションは書式の役目をしてまして、データの前にシングルコーテーションがくると、
文字列として扱います。
たとえば、

'abc
という様にCSVファイルに記述されていた時、Excelはabcの文字列として認識します。

この仕様と混同してはいないか確認してください。

よろしくお願いします。

Responder al #31020

RE: csvmake2.exeにおける文字列値処理に関する質問 (2007-08-03 23:43 by sky_seeker99 #31072)

すいません、WEBで調べたらシングルコーテーションで囲むケースもあるようですね。

すぐには対応は出来ませんが、いずれ対応したいと思います。



Responder al #31070

RE: csvmake2.exeにおける文字列値処理に関する質問(その3) (2007-08-06 23:00 by sky_seeker99 #31138)

CSVファイル文字列属性変換プログラムをリリースしました。

下記の所から「CSVファイル文字列属性変換プログラム」をダウンロードして
プログラムをパスの通ったところにコピーして下さい。

http://csvpp.sourceforge.jp/pukiwiki/pukiwiki.php?download%2Fkobetsu

そして、以下の様に実行してみてください。シングルとダブルクォートで括られた文字列だけ
文字列として変換してくれます。

csvmake2 aaa.xls -x "csvstrcnv +single +dbl" bbb.csv ccc.csv

よろしくお願いします。

Responder al #31072

RE: csvmake2.exeにおける文字列値処理に関する質問(その3) (2007-08-07 15:07 by hk14010 #31150)

sky_seeker99さん、早速の回答ならびに
文字列変換ツールcsvstrcnvも機能拡張版のご用意
ありがとうございます。

早速こちらのモジュールを使用したテストを
実施してみたいと思います。

本当にありがとうございました。
Responder al #31138