You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python向CSV文件追加新行时未换行的问题求助

解决CSV追加内容不换行的问题

这个问题我之前也踩过坑!原因很直白——你原CSV文件的最后一行mel,27,ireland末尾没有换行符,当你用a模式追加内容时,新的条目就直接拼接在这行后面了。

为什么会这样?

默认情况下csv.writer会给每行添加换行,但它是从当前文件指针的位置开始写入的。如果原文件最后一行没以换行符结尾,指针就停在这行的最后一个字符后面,新内容自然就挤到同一行里了。

两种解决方案

1. 临时手动处理(适合少量文件)

直接打开你的data.csv,在mel,27,ireland这行末尾敲个回车保存,再运行代码就能正常追加到新行了。

2. 代码层面彻底解决(推荐)

使用csv模块官方推荐的newline=''参数打开文件,它会让模块自动处理跨平台的换行问题,同时确保新行始终写到下一行,不管原文件末尾有没有换行符。修改后的代码如下:

import csv
info=['kirsty','32','germany']
# 关键是添加newline=''参数
with open('data.csv','a', newline='') as file:
    writer=csv.writer(file)
    writer.writerow(info)
# 注意:with语句会自动关闭文件,不需要手动调用file.close()

另外提个小细节:你原来代码里的file.close()是多余的,with上下文管理器会在代码块结束后自动关闭文件,手动调用反而可能导致意外问题哦。

内容的提问来源于stack exchange,提问作者West

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 03:30:39