サポート » プラグイン » Really Simple CSV Importerでカンマ混じりの値をテキストとして扱いたい。

  • 解決済 natasha

    (@natashanatashanatashanatasha)



    Really Simple CSV Importerでカンマ混じりの値(例えば100,000という数値など)を取り込みたいのですが、取り込むと「Array」と表示されてしまいます。

    このような記事を見つけたのですが、
    ▼ 下記記事の「入力内容にカンマを含めたい場合は?」の部分
    https://webtatan.com/blog/wordpress/really-simple-csv-importer
    他の文字に置き換えてCSVを取り込むのではなく元データはカンマのまま取り込みたいです。

    ちなみに取り込んだ数値はSmart Custom Fieldsで作成したカスタムフィールドの値として使用しようとしています。

    不足している情報などありましたら、ご指摘ください。
    よろしくお願いいたします。

6件の返信を表示中 - 1 - 6件目 (全6件中)
  • モデレーター のむらけい

    (@mypacecreator)

    取り込まれた値が配列とみなされているようですね。
    CSVを書き出するときに、オプション指定ですべてのテキストセルをクオートで囲む設定になっていますか?
    (Libre Officeの場合、Save As > “Edit filter settings”にチェック > “Quote all text sells”にチェック)
    この状態で手元の環境にインポートしてみたところ、ちゃんとテキストとして取り込まれました。もしならない場合は何か設定が違ったりしているかもしれないので、もう少し詳細を知りたいです。

    もう一つのアプローチとして、数値は文字としてじゃなく数値として扱いたい(計算とかに使いたい)場合、入力はカンマ無しでおこなって、PHPのnumber_format関数でカンマを出力時に足すという方法もあります。

    $cf_sample = SCF::get( 'sample' );
     echo number_format( $cf_sample );
    natasha

    (@natashanatashanatashanatasha)

    mypacecreator様

    素早い回答、本当にありがとうございます。

    > CSVを書き出するときに、オプション指定ですべてのテキストセルをクオートで囲む設定になっていますか?
    > (Libre Officeの場合、Save As > “Edit filter settings”にチェック > “Quote all text sells”にチェック)

    これはしていますが、だめみたいです・・・
    そして、これはLibreOfficeの使い方になると思うのですが、
    1. 手入力でカンマを入れようとしてもカンマが消える。
    2. セルの書式設定でカンマを入れても、次開くと書式設定が消えている。(だが、この状態でWPにインポートすると「Array」と表示される。)
    3. 2のファイルを再度開いて上書き保存するとカンマが完全に消えてWPに取り込んでもテキストとして表示される。
    という動きをするのでもしかするとこれが影響しているのかもしれません。

    > もう一つのアプローチとして、数値は文字としてじゃなく数値として扱いたい(計算とかに使いたい)場合、入力はカンマ無しでおこなって、PHPのnumber_format関数でカンマを出力時に足すという方法もあります。

    こちらの方法で、今回の要件は解決できました!

    前半の問題はWordPressの問題ではないのですが・・・もしももしもよければヒントをいただけると嬉しいです。
    ありがとうございました。

    モデレーター のむらけい

    (@mypacecreator)

    とりあえず2つ目の方法がお役にたってよかったです!

    1. 手入力でカンマを入れようとしてもカンマが消える。

    これ、私も最初にその状態になったので、セルの書式設定でフォーマットを文字列に設定したらカンマも反映できました。(一旦閉じて再度開くのは試してないですが)
    このあたりの挙動に違いがあるのかもしれませんね…ズバリの回答ができず申し訳ないですが…

    natasha

    (@natashanatashanatashanatasha)

    mypacecreator様

    何度もありがとうございます!

    これ、私も最初にその状態になったので、セルの書式設定でフォーマットを文字列に設定したらカンマも反映できました。(一旦閉じて再度開くのは試してないですが)

    おっしゃる方法でカンマを反映できるようになりました!
    ただ、取り込んでみるとやはり「Array」になってしまいます。(Smart Custom Fields側の仕様でしょうか?)
    また、プラグインを使わずカスタムフィールドに値を入れた場合、管理画面からフィールドそのものが消えてしまいます。(通常のテキストの場合は普通に表示されます。)

    なんか問題をややこしくしてしまいましたが・・・
    急ぎませんので、もし何かヒントありましたらご教示くださいm(_ _)m

    モデレーター のむらけい

    (@mypacecreator)

    ちゃんと検証していないのですが、インポート先のフィールドの種類が関係しているってことはないですか?
    こちらは、繰り返しなしのtextフィールドで検証したのですが、違うフィールドだと扱いが変わってくる可能性はあると思います。

    natasha

    (@natashanatashanatashanatasha)

    mypacecreator様

    お返事遅くなって申し訳ありません。

    私も繰り返しなしのテキストフィールドで試したのです・・・

    気にはなりますが、今回の要件はクリアできているのでこちらは一旦閉じさせていただこうと思います。

    mypacecreator様、いろいろアドバイスいただきありがとうございましたm(_ _)m

6件の返信を表示中 - 1 - 6件目 (全6件中)
  • このトピックに返信するにはログインが必要です。