0

Pythonを使用して大量のデータをCSVファイルに書き込んでいます。次のコードを使用します。

for elem in element:
   csvfile.writerow(elem)

for ループは大きなリスト内のすべての要素に使用されるため、コードはこれを約 10,000 回繰り返します。簡単ですよね?しかし、elem が非常に大きなリストの場合、+5,000 要素以上の csvwriter は奇妙な動作をすると考えてください。通常、結果は次のようになると思います。

"line 1, line 1, line 1 line 1..."
"line 2, line 2, line 2,..."

しかし、非常に大きな値で得られるのは次のとおりです。

"line 1, line 1,
line 1, line 1..."
"line 2, line 2,
line 2, line 2..."

新しい反復でない限り、新しい行を開始することは決して想定されていません...小さなデータサンプルでうまく機能します。また、メモ帳++では、異なる行が表示されます...誰にもアイデアはありますか?

編集

尋ねる人のために: これは実際のコードです:

top_words = 10.000 の最も一般的な単語のリスト

for text, cat in texts:
    words = wordpunct_tokenize(text)
    word_c=len(words)
    c = Counter()
    c.update(word for word in words if word in top_words)
    word_freq = [c.get(word,0) for word in top_words]
    word_freq = ','.join(map(str, word_freq))
    csvfile.writerow((word_freq, cat))
4

0 に答える 0