web-dev-qa-db-ja.com

ExcelファイルをUnicodeとして保存するときに二重引用符を回避するにはどうすればよいですか?

一部のセルに二重引用符で囲まれたテキストが含まれているUnicodeコンテンツのExcelファイルがあります(例:"text")。

ExcelファイルをUnicode形式のテキストファイルに保存すると、二重引用符を含むテキストは、"""text"""のように、3つの二重引用符として保存されます。

カンマ(、)を含むテキストさえあるところがあります。たとえば、Unicodeファイルでtext,に変換される"text,"です。テキストに二重引用符が追加されていますが、これには特殊文字が含まれていると思います。

どうすればこれを回避できますか?

9
karthik

これは標準の動作です(CSVファイルの保存方法と同様です)。 RFC 4180 –カンマ区切り値(CSV)ファイルの一般的な形式とMIMEタイプ を参照してください。

フィールドを囲むために二重引用符を使用する場合、フィールド内に表示される二重引用符は、その前に別の二重引用符を付けることでエスケープする必要があります。

それはあなたのケースにどのように当てはまりますか?

  • つまり、"Text""""Text"""として保存する必要があります、フィールドを区切る外側の引用符、および他の2つの引用符が使用されますテキストフィールドに使用した実際の引用符をエスケープします。そうしないと、"Text"Textとして解析されるだけで、ファイルを再度開くときに引用符が失われます。

  • ExcelはText,も引用することを選択します。これは、カンマがカンマ区切りファイルで区切り文字として使用され、引用符で囲まない場合、text,が2つのフィールドとして解析されることを意味します。ファイル。

それらを出力に含めたくない場合は、テキストエディターで結果のファイルを開き、単純な検索と置換ですべての引用符を削除することを検討してください。

7
slhck

私もこの問題を抱えていました。次に、Save as type:オプション "Formatted Text(Space delimited)"を見落としていることに気付きました。また、する必要がある .txt拡張子を指定するか、デフォルトで.prn拡張子を使用します。たとえば、ファイル名だけではなく、filename.txt。 試してみる動作します

3
Jeff Byington

文字列に引用符がない場合でも、Unicodeに保存すると引用符が追加されたようです。ここに私がそれを回避する方法があります:

  1. ファイルにない文字列を検索します(私はxxxを使用しました)。
  2. エクスポートする前に、すべての二重引用符を検索して置換"xxx
  3. ファイルをtxtまたはcsvにエクスポートします。
  4. Txtファイルを開き、すべての引用符を検索して何も置換しない
  5. すべてのxxxを検索して引用符で置き換えます
2
Pete

Excelでファイルをスペース区切りの.prnとして簡単に保存し、ファイル名を.txtに変更します。私はこれを18000行の危機に使用しました。 ;)

0
Salar Lotfee