0

我一直在使用 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))
4

0 回答 0