5

私が見る限り、OpenOfficeは、ファイルをcsvファイルとして保存する場合、すべての文字列を引用符で囲みます。

では、エスケープ文字は必要ですか?

そしてこの質問に関連して:

OpenOfficeにはデフォルトのエスケープ文字がありますか?

4

3 に答える 3

4

OpenOfficeをcsvとして保存するときにエスケープ文字を選択する方法があるかどうかも疑問に思っています。phpmyadminは、.ods形式の9,000行50以上の列のスプレッドシートを受け入れていませんでした。また、CSVとして保存するときにエスケープ文字を選択する方法がないようです。

そのため、csvとして保存し、単語で開き、検索/置換のトリックを使用して、エスケープ文字を\(バックスラッシュ)に変更する必要がありました。デフォルトでは、二重引用符を使用して二重引用符をエスケープします。phpmyadminはその形式を受け入れません。

\(円記号)を使用して二重引用符をエスケープするようにファイルを適切に変換するには、次のようにする必要があります。

  1. csvのどこにも出現しないプレースホルダー文字列(例:'abcdefg')を選択します。
  2. "" "(連続した3つの二重引用符)を検索/置換します。これは、次のステップで誤った結果が生じる可能性を防ぐためです。
  3. ""(2つの引用符を続けて、エスケープする必要がある1つの引用符を表す)を\ "(バックスラッシュの二重引用符)で検索/置換します。" ""を検索/置換せずにこれを行うと、 「\」の代わりに「\」のような結果になります。転ばぬ先の杖。
  4. プレースホルダー文字列を検索して、「」に置き換えます(バックスラッシュの二重引用符の二重引用符)。

元のテキストフィールドに複数の二重引用符が連続して含まれている場合を除き、これは機能します。これにより、結果の.odsまたは.xlsx csvファイル(2つ)に最大5つの二重引用符が連続して表示されます。エスケープされた各二重引用符の二重引用符と、フィールドの最後にある場合は別の二重引用符)。

于 2011-06-09T10:20:28.870 に答える
2

引用符でエスケープすると、CSVファイルを解析するツールの作業が楽になります。

于 2010-01-26T12:03:20.317 に答える
0

LibreOfficeの最近のバージョン(3.4.4)では、CSVエクスポートがphpMyAdminによって正しく処理されませんでした。LibreOfficeはエスケープ文字を提供しないため、phpMyAdminのデフォルトの「CSV」インポート機能「Columnsescapedwith:」はうまく機能しませんでした。データは常に一貫性がありませんでした。

ただし、LOAD DATAを使用したオプションCSVの使用は、オプションによってエスケープされた列の値が削除された場合にのみ機能しました。phpMyAdminはデフォルトのMySQLLOADDATAコマンドを使用していると思います。したがって、制御はデータ処理のためにMySQLに渡されます。私のシナリオでは、正確なデータのインポートが行われました。

于 2013-01-28T07:40:11.063 に答える