質問 > 管理機能 > 商品登録CSVで文字が消える |
管理機能
スレッド表示 | 古いものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
ikemoto |
投稿日時: 2015/10/31 22:05
対応状況: −−−
|
一人前 登録日: 2015/10/2 居住地: 投稿: 79 |
Re: 商品登録CSVで文字が消える 追加情報として参考になれば…
ダブルクォーテーションを保持したままCSV出力するのは、ファイルメーカー以外にも、Microsoft Accessのエクスポート機能でも可能です。 Accessやファイルメーカーを購入せずになんとかしたいなら MySQLやPostgreSQLなどのデータベースに一旦インポートして加工⇒出力するという方法であれば、heidisqlなどのデータベースクライアントツールから区切り文字など任意に指定して出せる機能があります。 ちょっと手間ではありますが。 エクセルの場合、エクセル側が勝手に色々やらかしてくれるので、 私はインポート用のCSVを作る時やCSV出力を開くとき、 あまりExcelは使わない派です。 読込時でさえ、きちんと設定せずに開くと "012"⇒12 "Apr-1"⇒日付の4/1と解釈してしまう …などになり、これを上書き保存すると…。 昔どうしてもエクセルでカンマ区切り+ダブルクォーテーション指定のCSVファイルを読み込んで、同じ体裁で出力する必要があったときには、 1:csvの拡張子をtxtにして読込 2:ウィザードが起動するのでカンマ区切り、文字列囲み指定 3:列のデータ形式を全て「文字列」にしてOK 4:加工 5:タブ区切りテキストで保存 6:タブをvbScriptで","に置き換え、行の先頭と末尾に"を付与 7:拡張子をcsvにする …という面倒な手順を踏まなければ 「ダブルクォーテーション付きカンマ区切りテキスト」 が実現できませんでした。 素で開くと、012⇒12になってしまうので3の手順が必要だし、 保存の時はウィザードが出てくれないから5〜7の手順にするしかない。 5〜7はエクセルマクロで実現してもよいけれど。 エクセルを使用する場合は、出来ないことはないけど 標準機能だけでは無理(何か抜け道があるなら知りたいです…)。 他のツールでも、ダブルクォーテーションを指定した読込・書き出しが出来るものを使用しないと…ということだと思います。 |
chaco2008 |
投稿日時: 2015/10/31 16:48
対応状況: −−−
|
半人前 登録日: 2015/10/24 居住地: 投稿: 25 |
Re: 商品登録CSVで文字が消える 自己解決というか、原因は分かりましたので、簡単に報告致します。
尚、私の環境(ver2.13系、WADAXサーバー使用)限定での現象かもしれませんので、 いくつかポイントはあるのですが、まずEC CUBEからCSVを出力すると、改行の無いテキストデータはダブルクオーテーションで「囲われずに」出力されます。 そして、EC CUBEに「日本語から始まるテキストデータ」をCSVで入力する場合、ダブルクオーテーションで囲われていないと、文頭〜半角英数テキストまでの部分が消えてしまいます。全て日本語のデータであれば、全て消えてしまいます。 なので、例えば商品名が「テストtestテスト」という商品を、CSV出力して、未編集で入力した場合、商品名が「testテスト」となってしまいます。「テスト」という商品名のデータを出力→入力すると、商品名がありませんというエラーになります。 また、「改行の無いテキストデータはダブルクオーテーションで囲われずに出力」という仕様は、EC CUBEだけでなく、エクセルで編集した場合や、キャッサバなどのCSVエディタで編集した場合も同じで、今の所手動でダブルクオーテーションをつけられるツールはメモ帳しか見つけられておりません。 なので、メモ帳でダブルクオーテーションをつけて保存し、そのCSVを他のツールで開き保存すると、ダブルクオーテーションが消えます。 【結論】 エクセルやCSVエディタなどでデータを編集して一括でUPという作業は、私の環境では今の所不可能だという結論に達しました。 私は、ファイルメーカーというソフトで、商品のスペックや説明文等をデータベース化し、それをCSVで出力し登録を行っているのですが、この「ファイルメーカーで出力したCSV」に関しては、改行の無いテキストもちゃんとダブルクオーテーションで囲われて出力されるので、問題なく作業できます。 例えば一斉に価格を変更するような場合も、EC CUBEからCSVを出力して、それを編集するのではなく、ファイルメーカー側でデータを作成してアップすれば問題ありません。 EC CUBEで自動生成される商品IDなどに関しては、まずはファイルメーカで「商品ID」などを空欄にしたCSVを作りアップロードし、商品を新規登録します。 その後、EC CUBEからCSVを出力させると、自動生成された商品IDなどが取り出せるので、それをファイルメーカーに商品コードをKeyにインポート。そうすれば、既存商品の更新等も自由に行えます。 つまり、独自で商品マスターのような仕組みを用意出来ない場合は、このCSVアップ機能は実質使用不可能かと思われます(私の環境の場合は) 以上です。このページはアクセスが3000を超えており、ハマっている人が多い問題なのかと推測します。今後このページを見た人が、何かしら参考になれば幸いです。 |
chaco2008 |
投稿日時: 2015/10/28 21:13
対応状況: −−−
|
半人前 登録日: 2015/10/24 居住地: 投稿: 25 |
Re: 商品登録CSVで文字が消える はじめまして。
実は、スレ主様と全く同じエラーが起きておりまして、 環境など確認させて頂きました所、 私とほぼ酷似しております。 EC-CUBE 2.13.3 サーバーOS Linux wx20.wadax.ne.jp 2.6.32-573.7.1.el6.x86_64 #1 SMP Tue Sep 22 22:00:00 UTC 2015 x86_64 DBサーバー PostgreSQL 8.4.20 WEBサーバー Apache PHP 5.3.3 OS windows8.1 この、ダブルクオーテーションで囲わないとCSV登録時に半角英数字前の日本語が消えるという問題は、既に解決出来たのでしょうか?とても気になっています。 もし解決法がございましたら、教えていただきたいと思っております。 一昨日より格闘しているのですが、一向に解決する兆しが見えません。どうか、宜しくお願い致します。 |
atsu |
投稿日時: 2014/5/26 14:36
対応状況: −−−
|
一人前 登録日: 2008/5/29 居住地: 投稿: 83 |
Re: 商品登録CSVで文字が消える nanasessさん
情報ありがとうございます。 私のスキルではわかりかねますが、調べみます。 |
atsu |
投稿日時: 2014/5/26 14:34
対応状況: −−−
|
一人前 登録日: 2008/5/29 居住地: 投稿: 83 |
Re: 商品登録CSVで文字が消える seasoftさん
ありがとうございます。 環境は下記の通りです。よろしくお願いします。 [EC-CUBE] 2.13.1 [レンタルサーバ] WADAXサーバ [OS] CentOS 6 [PHP] PHP 5.3系 [データベース] PostgreSQL8.4系(UTF-8) [WEBサーバ] apache2.2系 |
nanasess |
投稿日時: 2014/5/26 10:47
対応状況: −−−
|
神 登録日: 2006/9/9 居住地: 投稿: 2314 |
Re: 商品登録CSVで文字が消える FastCGI で動作している環境 + Intl Extension を入れているサーバーで同様の現象になったことがあります。
「"」で囲うことで逃げたので、正確な原因の切り分けはできていませんが。。。 マニュアルに明記はされていませんが、Intl が setlocale() に影響のある可能性があるようなことが書かれています。 http://www.php.net/manual/ja/function.setlocale.php#80054 |
seasoft |
投稿日時: 2014/5/25 9:25
対応状況: −−−
|
神 登録日: 2008/6/4 居住地: 投稿: 7367 |
Re: 商品登録CSVで文字が消える 普通は囲わなくて正常に読み込みできます。私の場合も、phpPgAdmin で経験があるのみで、EC-CUBE では発現したことがありませんでした。
しかし、atsu 様の状況からいたしますと、PHP に原因がある懸念もありそうですね。 とりあえず、チケットを発行しました。 http://svn.ec-cube.net/open_trac/ticket/2557 例えば、PHP のバージョンを容易に変更できる環境でしたら、まずその辺りをお試しいただくのも良いように感じます。 また、atsu 様の環境もご開示いただけますと幸いです。 http://xoops.ec-cube.net/modules/tinyd0/index.php?id=8
|
atsu |
投稿日時: 2014/5/24 23:34
対応状況: −−−
|
一人前 登録日: 2008/5/29 居住地: 投稿: 83 |
Re: 商品登録CSVで文字が消える seasoftさん
ありがとうございます。"で囲って、アップロードすると改善はされたのですが、ファイルをダウンロードするとまた"が外れている状態でしたので、毎回ファイルを修正するたびに"で囲むのは大変だと思いまして、運用としてはどうされているのかなと疑問に思いました。 |
seasoft |
投稿日時: 2014/5/24 10:07
対応状況: −−−
|
神 登録日: 2008/6/4 居住地: 投稿: 7367 |
Re: 商品登録CSVで文字が消える 実運用の話しではなく、原因切り分けの一案ですよ。
そもそも、囲って改善されるかを把握してから、対策を考えた方が良いのではないでしょうか。
|
atsu |
投稿日時: 2014/5/23 23:44
対応状況: −−−
|
一人前 登録日: 2008/5/29 居住地: 投稿: 83 |
Re: 商品登録CSVで文字が消える seasoftさん
ありがとうございます。 テキストエディタで毎回・・・となるととても大変な作業ですね。 みなさんどうされていらっしゃるのでしょうか? ダウンロードしてきたファイルには""で囲ってあるものとないものがあり、たとえば商品名は必ず"で囲むというような設定はできないものなのでしょうか? |
(1) 2 » |
スレッド表示 | 古いものから | 前のトピック | 次のトピック | トップ |