web-dev-qa-db-ja.com

単一引用符で囲まれたデータを含むCSVをインポートする

フィードインポーターを使用してcsvファイルをインポートする必要があります。ただし、doesn'tのような値には単一引用符があります。とにかく一重引用符をエスケープする方法はありますか?

ありがとう

3
lusketeer

ここでの問題の一部は CSVの標準仕様はありません です。

さらに、Microsoftには、CSVのバージョンとDrupalのバージョン間の相互運用性を確保するインセンティブがあまりないため、二重引用符内の単一引用符でセルのコンテンツをカプセル化する(直接的な)方法を提供していないことは当然のことです。 、そうする必要があります 何かもう少し複雑な ExcelでDrupalフレンドリーなCSVファイルを出力する場合。

または、Drupalは問題がどこにあるかを教えてくれるので、手動で行うことができます。アポストロフィを含む行が数行しかない場合は、それほど大きな問題ではない可能性があります。アポストロフィまたは一重引用符が付いたCSVの行がたくさんあると、少し面倒になります。

または、マシンにPythonがある場合、またはインストールする用意がある場合、 this pythonに二重引用符を追加するスクリプトCSV はうまくいくかもしれませんし、Excelマクロを扱うよりもはるかに簡単かもしれませんが、それはすべてあなたが使い慣れている言語と言語環境に依存します。

Drupal(または具体的にはFeedsモジュール)はMicrosoftのCSVをサポートする必要があるため、二重引用符で囲まれていない場合はアポストロフィを適切に処理する必要があると主張する人もいます。この意見については、 Feedsプロジェクトにリクエストを提出します。(標準の)CSV仕様がないため、これはバグ(AFAIK)と見なすことはできませんが、追加したほうがよいと思われる便利な機能のようです。

3
iconoclast

CSV値の区切り文字が二重引用符であることを確認してください

1
frazras

Microsoft Accessがある場合、Excelファイルをインポートします。次に、高度な機能を使用してそれらをAccessからcsvファイルにエクスポートし、UTF-8形式で保存します。現時点ではAccessを持っていないので、これ以上の説明はできませんが、うまくいきます。これにより、アポストロフィと引用符が処理されます。

0
Pat

Excelを使用してcsvを編集する場合は、[保存]ボタンの横にある[名前を付けて保存]-> [ツール]を選択します。 [Webオプション]を選択し、[エンコード]タブを選択して、このドキュメントをUnicode(UTF-8)として保存します。これは私のエラーを解決しました。

0
Nathan Howard