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