0

結果をcsvファイルに保存しているときに、この奇妙な問題が発生します。

summary = site.select('.//*[contains(@class, "summary")]/p/text()').extract()
description = ""
                    while (len(summary) != 0):

                        description = description + summary.pop(0).encode('utf-8')
                    description = str(description)

                    item['Description'] = description

だから私は説明列に関心があります。これらの結果を csv 形式で抽出しています。エクセルで開くとちゃんと結果が出ます。しかし、ワードパッドで開くと、一部の説明データでは、str の文字列の最初と最後に二重引用符が含まれているのに対し、場合によっては二重引用符がないことがわかります。

なぜそのような奇妙な行動をするのか

4

1 に答える 1

2

これは奇妙な動作ではありません。ワードパッドはワード プロセッサであり、.CSV ファイルを .TXT ファイルよりも解釈しようとはしません。ファイルの各行は、1 行のテキストとして扱われます。ただし、Excel はコンマ (ロケールによってはセミコロン) をフィールドの区切り記号として解釈します。また、「二重引用符」は、区切り文字を含むフィールドが切り刻まれるのを防ぐためのメカニズムであると解釈します。例:

ファイル:

Tom, Dick, and Harry,en
Zhang san, Li si,zh
"Tom, Dick, and Harry",en
"Zhang san, Li si",zh

Excel によってロードされた場合:

A                      B      C           D
Tom                    Dick   and Harry   en
Zhang san              Li si  zh
Tom, Dick, and Harry   en
Zhang san, Li si       zh
于 2011-10-13T10:39:03.050 に答える