Python CSVwriter在处理大列表时表现得很奇怪

Python CSVwriter在处理大列表时表现得很奇怪,python,csv,Python,Csv,我一直在使用python将大量数据写入CSV文件。 我使用以下代码: for elem in element: csvfile.writerow(elem) 代码在此循环大约10000次,因为for循环用于大列表中的每个元素。 很简单,对吧? 但是当元素是非常大的列表时,想想+5000个元素或更多,csvwriter的行为会很奇怪。 通常情况下,我希望结果如下所示: "line 1, line 1, line 1 line 1..." "line 2, line 2, line 2,..

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

for elem in element:
   csvfile.writerow(elem)
代码在此循环大约10000次,因为for循环用于大列表中的每个元素。 很简单,对吧? 但是当元素是非常大的列表时,想想+5000个元素或更多,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_单词=一个包含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))

你确定这不仅仅是你的文本编辑器在为你包装长行吗?怎么会呢?就像elem中的elem.strip()一样?@JoranBeasley它在excel、notepad++和VIM中的显示方式相同,除非它是一种标准的包装方式,否则它不可能是巧合。您能否显示实际的可运行代码和重现此问题的样本数据(希望是微不足道的样本数据,如
elem=range(6000)
)?因为要么(a)输入数据中有未替换的换行符,要么(b)实际代码中有一些愚蠢的东西,要么(c)Python中有一个bug(可能在以后的版本中修复了,所以请给出您的版本号)。此外,事实上,每一行都包含在一对引号中,这意味着要么您做错了什么,或者您没有理由首先使用CSV,因为您只有一列。这对你的真实数据准确吗?