CSVwriter对大型列表很奇怪

时间:2013-08-05 23:27:33

标签: python csv

我一直在使用python将大量数据写入CSV文件。 我使用以下代码:

for elem in element:
   csvfile.writerow(elem)

代码通过此迭代大约10,000次,因为它应该因为for循环用于大型列表中的每个元素。 够简单吧? 但是当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))

0 个答案:

没有答案