-2

次のような文字列があると仮定します。

example_string = "
  "Hi, My name is "Fohsap", and I'm dumb"
  "Hi, Fohsap," she interrupted.
"

そして、あなたはそれを次のようなCSVファイルに入れようとしています:

"example_recipient","example_string","example_recipient2","example_string2",..."example_recipientN","example_stringN"
4

2 に答える 2

1

カンマは問題にはなりませんが(各値を二重引用符で囲むため)、二重引用符をエスケープする必要があります。これに関するいくつかのガイドラインは次のとおりです。CSVリーダーですが、実際にはファイルの読み取りに使用しているものによって異なります。また、改行についても考慮する必要があります(Excelの場合、引用符を使用している限り問題ありません。Unixの場合は、\ nのような通常のUnixエスケープを実行する必要があります)

于 2012-07-12T23:15:48.290 に答える
1

これは、使用するCSV実装によって異なりますが、一般的な方法の1つは、区切り文字()文字を含むフィールドを引用することです。必要に応じて、 quote()文字が二重エスケープ,されることに注意してください。(CSV:基本的なルールと例を参照してください。)"

したがって、次のように記述される可能性のある3つのフィールド、、を想像ab,cてください。"hello,world"

a,"b,c","""hello,world"""

個々のフィールドの理由:

a                 <- no escape/quote needed
"b,c"             <- quoted so [,] is not treated as separator
"""hello,world""" <- quoted for [,] and the ["]s are double-escaped

独自のCSVを作成するのではなく(さらに悪いことに、手動で文字列を作成することをお勧めします)、既存のライブラリを使用することをお勧めします。埋め込まれた改行をどうするかなど、バグやエッジケースはすでに解決されています。

ハッピーコーディング!

于 2012-07-12T23:26:51.147 に答える