• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
zzmcode
博客园    首页    新随笔    联系   管理    订阅  订阅
csv文件中的空行问题

在Python中使用csv模块的writerow方法写入数据时,每行之间出现空行的问题,通常是因为在Windows系统中,默认的换行符是'\r\n',而在Python中打开文件时,如果没有指定newline参数,会使用系统默认的换行符。但是,在写入时,如果文件是以文本模式(默认)打开的,Python会处理换行符:在Windows下,每写入一个'\n',会被转换为'\r\n',而CSV模块本身会写入'\r\n',导致换行符被重复,从而产生空行。

解决方法是在打开文件时指定newline参数为空字符串,这样CSV模块就不会进行换行符的转换。

例如,将原来的代码:
with open('file.csv', 'w') as f:
writer = csv.writer(f)
writer.writerow([1,2,3])

改为:
with open('file.csv', 'w', newline='') as f:
writer = csv.writer(f)
writer.writerow([1,2,3])

这样就不会在每行之间产生空行了。

注意:在Python 2中,可能需要使用二进制模式打开文件,并注意换行符的处理,但在Python 3中,使用文本模式并指定newline=''即可。

posted on 2025-09-24 15:05  zzmcode  阅读(49)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3