在Python中将换行符写入csv

在Python中将换行符写入csv,python,csv,file-io,Python,Csv,File Io,我想通过将一行新内容(包括换行符)写入csv文件来结束for循环的每个迭代。我有这个: # Set up an output csv file with column headers with open('outfile.csv','w') as f: f.write("title; post") f.write("\n") 这似乎不是在文件中写入实际的\n(换行符)。进一步: # Concatenate into a row to write to the outpu

我想通过将一行新内容(包括换行符)写入csv文件来结束for循环的每个迭代。我有这个:

# Set up an output csv file with column headers
with open('outfile.csv','w') as f:
    f.write("title; post")
    f.write("\n")
这似乎不是在文件中写入实际的\n(换行符)。进一步:

    # Concatenate into a row to write to the output csv file
    csv_line = topic_title + ";" + thread_post
    with open('outfile.csv','w') as outfile:
                 outfile.write(csv_line + "\n")
这也不会将输出文件中的光标移动到下一行。循环的每一次迭代中的每一行都会覆盖最近的一行

我还尝试了
outfile.write(os.linesep)
,但没有成功。

将“w”更改为“a”

with open('outfile.csv','a')
或者:

f = csv.writer('outfile.csv', lineterminator='\n')

我遇到同样的问题,只需要以下几点:

  f = csv.writer('outfile.csv', lineterminator='\n')

为什么会这样?您能否解释更改访问修饰符如何更改EOL字符?为什么写('\n')不起作用?我认为OP是在循环中打开/关闭文件(他们提到了循环,但没有显示它在哪里),所以在追加模式下打开是一种“修复”,但是错误的方式。是的,这是一种解决方法,而不是解决方案。
  f = csv.writer('outfile.csv', lineterminator='\n')