当前位置: 首页 > 面试题库 >

如何阻止Python的csv.DictWriter.writerows在Windows中的行之间添加空行?

谭嘉歆
2023-03-14
问题内容

当我csv.DictWriter.writerows在Windows上使用Python时,在行之间添加空换行符。如何停止呢?该代码在Linux上运行良好。


问题答案:
  • 在Python 2中:始终以二进制模式打开文件。csv.DictWriter()\r\n行尾:
    with open(filename, 'ab') as outputfile:
    writer = csv.DictWriter(outputfile, fieldnames)
    

csv.writer()文档中:

如果 csvfile 是文件对象,则必须在有区别的平台上使用“ b”标志打开它。

  • 在Python 3中:使用打开文件,newline=''因此csv.DictWriter()可以控制无需翻译而编写的换行符:
    with open(filename, 'a', newline='') as outputfile:
    writer = csv.DictWriter(outputfile, fieldnames)
    

再次引用相关csv.writer()文档:

如果 csvfile 是文件对象,则应使用newline=''

[…]

如果newline=''未指定,嵌入引号字段中的换行符将无法正确解释,并且在使用\r\nlinendings的平台\r上将添加额外的字符。newline=''由于csv模块会执行自己的(通用)换行处理,因此始终应该安全地指定。



 类似资料:
  • 我正在使用这个版本的Eclipse:版本:2019-09 R(4.13.0)构建ID:20190917-1200 我想我已经设置了所有可能的设置 Eclipse 必须禁用所有导入之间的空白行,但是每当程序自动添加新导入时,它仍然会自动在导入组之间插入一个空行。 我所说的一个例子: 我设置了多个似乎会对此产生影响的设置,主要的一个似乎应该绝对控制它的设置是< br >窗口-

  • 问题内容: 我已经安装了python 3.1,我也将它添加到了系统路径中。现在,我可以打开“ cmd”并键入python来启动python,但是每当我尝试通过使用特定的目录(在Shift +右键单击->打开命令提示符)中打开cmd并键入python时,它说“找不到命令” “! 我怎样才能解决这个问题? 问题答案: 您需要在Windows中设置环境变量。

  • 问题内容: 我已经寻找了很长时间,并且我对此也找不到任何问题,我想这可能是不可能的,尽管由于该功能很有用,这似乎很奇怪。 我想在这样的情况下,假设有3行,而不是在行号1的末尾添加另一行,那有可能吗? 请不要提及基于某些ID的行排列,因为这是我在这种情况下要做的最后一件事。 问题答案: 使用<-请参阅文档更多构造函数 然后,您可以使用以下方法之一 -在模型中的每一行插入一行。除非指定rowData,

  • 问题内容: 我有一个格式如下的文件(频率,文件名,代码行): 我希望输出为: 基本上,文件包含来自文件的文件名和代码行,第一个字段是频率,即文件中的代码行数。 我应该明智地阅读这些代码行。我发现这很乏味,并且如果不同文件的条目之间存在行距,那么对我来说将更容易,因此需要输出。 问题答案: Awk可以做到: 是文件名。

  • 问题内容: 如何使用Twitter Bootstrap框架向元素添加边距顶部? 问题答案: 在Twitter引导程序中编辑或覆盖行是一个坏主意,因为这是页面支架的核心部分,并且您将需要没有上边距的行。 要解决此问题,请创建一个新类“ top-buffer”,添加所需的标准边距。 然后在需要上边距的行div上使用它。

  • 问题内容: 我已经成功地增加了ticklabels的字体,但是现在它们离轴太近了。我想在刻度标签和轴之间添加一点呼吸空间。 问题答案: 看起来matplotlib将这些设置视为rcParams: 在 创建任何图形 之前先进行 设置, 然后就 可以了。 我看过源代码,似乎没有其他方法可以通过编程设置它们。(tick.set_pad()看起来像是试图做正确的事,但是似乎在构建Ticks时设置了填充,此