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

在Python中用Dictwriter输出时,为什么CSV文件在每个数据行之间都包含一个空白行

尉迟禄
2023-03-14
问题内容

我正在使用DictWriter将字典中的数据输出到csv文件。为什么CSV文件的每个数据行之间都有一个空白行?这不是什么大问题,但是我的数据集很大并且不适合一个csv文件,因为“
double-spacing”使文件中的行数增加了一倍,因此行数太多。

我写字典的代码是:

headers=['id', 'year', 'activity', 'lineitem', 'datum']
output = csv.DictWriter(open('file3.csv','w'), delimiter=',', fieldnames=headers)
output.writerow(dict((fn,fn) for fn in headers))
for row in rows:
    output.writerow(row)

问题答案:

默认情况下,csv模块中的类使用Windows样式的行终止符(\r\n),而不使用Unix样式的(\n)。这可能是造成明显的双行中断的原因吗?

如果是这样,则可以在DictWriter构造函数中覆盖它:

output = csv.DictWriter(open('file3.csv','w'), delimiter=',', lineterminator='\n', fieldnames=headers)


 类似资料:
  • 问题内容: 该代码读取,进行更改并将结果写入。 但是,当我在中打开生成的时,每条记录后都有一个额外的空白行! 有没有办法使它不放在多余的空白行? 问题答案: 在Python 2中,请outfile使用模式而不是来打开。该写入直接到文件中。如果你未以二进制模式打开文件,它将写入,因为在Windows 文本模式下会将每个文件转换为。 在Python 3中,所需的语法已更改(请参见下面的文档链接),因此

  • 在生成的csv输出文件中,每行scrapy输出之间都有不需要的空行。 我已经从python2迁移到Python3,我使用的是Windows10。因此,我正在为python3调整我的scrapy项目。 我目前(也是目前唯一)的问题是,当我将scrapy输出写入CSV文件时,每行之间会有一行空行。这已经在这里的几个帖子中强调了(它与视窗有关),但我无法找到一个工作的解决方案。 碰巧,我还在piplin

  • 问题内容: 我正在使用命令来获取目录中的文件名,但输出在一行中。 像这样: 我需要一个内置的替代方法来获取文件名,每个文件名都换行,如下所示: 问题答案: 使用该选项(请注意,这是一个“一个”数字,而不是小写字母“ L”),如下所示: 不过,首先请确保您的支持。GNU coreutils(安装在标准Linux系统上)和Solaris一样;但如果有疑问,请使用或或查看文档。例如:

  • 问题内容: 在过去的几周里,我一直在使用AngularJS,而真正困扰我的一件事是,即使尝试了所有置换或http://docs.angularjs.org/api/ng规范中定义的配置,.directive:select,我仍然得到一个空选项作为select元素的第一个子元素。 这是玉: 这里的控制器: 最后,这是生成的HTML: 我需要怎么做才能摆脱它? PS:事情也不需要这样做,但是如果您使用

  • 我写了一些代码来解决下面的问题。我有trid一些测试用例,它们都通过了,但当我提交我的答案自动标记时,结果是失败。我不知道问题出在哪里。 下面是问题和相应的链接: 下面是我的代码(在提交给系统之前,它需要替换类名为Main): 下面的C++代码是正确的,并且总是通过

  • 为什么在那里插入? 如果没有一个好的理由:我能用什么方法摆脱它吗? 如果您想使用以下示例:https://godbolt.org/z/74ycy63se