【问题标题】:Python: Writing new line to csv in for loopPython:在for循环中向csv写入新行
【发布时间】:2017-11-30 12:21:54
【问题描述】:

我有以下问题。我有一个 for 循环,我想在其中始终将列表的新元素添加到 csv 文件中的新行。但是我的代码有问题。如果我打开文件,行之间总是有空格,并且列表括号也存在。

我的代码摘录:

    allParameterCombi.append([fRC_Network1.jc,fRC_Network1.radius,fRC_Network1.frcSize, fRC_Network1.percent[0],fRC_Network1.percent[1],fRC_Network1.distType, fRC_Network1.ID])

    with open('parameterCombinatons.csv','a') as csv_file:
        writer = csv.writer(csv_file, delimiter=";")
        writer.writerow([allParameterCombi[count3-1]])
    count3 = count3 +1

打开后的样子:

【问题讨论】:

  • 你能通过记事本给我一个输出吗?不擅长。此外,对allParameterCombi 结构的提示可能会很有成效。
  • 你为什么将allParameterCombi[count3-1] 包裹在一组额外的[] 中?
  • 是的,这绝对是个错误!现在它识别列。但是行之间的空间仍然存在。
  • 以二进制形式显式打开文件。

标签: python csv


【解决方案1】:

在将文件传递给csv.writer 之前,您必须以二进制模式(“ab”)打开文件,如下所示:

with open('parameterCombinatons.csv','ab') as csv_file:  #python3 open('parameterCombinatons.csv','a',newline='')

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2016-09-30
  • 2015-08-12
  • 2013-08-28
  • 2018-01-12
  • 2018-03-14
  • 1970-01-01
  • 2018-01-19
  • 2019-07-20
相关资源
最近更新 更多