ExcelファイルをUnicodeとして保存するときに二重引用符を回避する方法


9

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

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

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

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

回答:


7

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

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

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

  • これは、として"Text" 保存する必要があることを意味し"""Text"""、フィールドを区切る外側の引用符と、他の2つの引用符は、テキストフィールドに使用した実際の引用符をエスケープするために使用されます。それ以外の場合は、次の"Text"ように解析されText、ファイルを再度開いたときに引用符が失われます。

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

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


2
あなたはテキストエディタでそれらを置き換える以外に問題を解決する他の方法がないことを意味します。
karthik、2011年

Excelは互換性の理由でこれを行う必要があるため、実際にはそうではありません。たぶん、カスタムエクスポートを行うマクロを考え出すことは可能かもしれませんが、私はこれについての専門家ではありません。
slhck

わかりました。コーディング側で置き換えようと思います。
karthik、2011年

@slhck:2010でUnicodeをCSVとして保存しているときに問題が発生しましたsuperuser.com/q/1210099/234380
NJMR

3

私もこの問題を抱えていました。次に、[ 名前を付けて保存 ]オプションを見落としていることに気づきましたオプション " 書式付きテキスト(スペース区切り) "。また、する必要が指定します。txt拡張子、またはデフォルトで.prn拡張子が付けられます。たとえば、ファイル名だけではなく、filename.txt。お試しくださいうまくいきます。


タブ区切りではなくスペース区切りであり、列の幅はデフォルトで約8文字に制限されているようです。
JosiahYoder-非アクティブ..除く

セルにのようなものが含まれている場合、これは機能しません"A short sentence"。以下のピートの答えは私のために働いた唯一のものです。
MicahLindström

2

文字列に引用符がない場合でも、Unicodeに保存すると引用符が追加されたようです。回避策は次のとおりです。

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

注:replacementnotを使用します'replacement'。二重引用符を単一引用符を含むものに置き換えると、セルの先頭にある場合に問題が発生します。基本的に、Excelではセルの先頭に単一引用符が表示され、テキストとして解釈されるため、txt / csvにエクスポートすると削除されます。私はこれを難しい方法で見つけましたlol。
MicahLindström

0

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.