列表之间不需要的空白行

时间:2016-01-28 19:26:54

标签: python list csv

我在使用某些测试代码时遇到了一些麻烦。此代码旨在:

  • 阅读csv文件
  • 接受两个输入
  • 将输入放在列表中
  • 使用csv内容+输入列表
  • 创建一个新列表
  • 使用新列表覆盖csv。

    import csv
    
    input1 = input("input 1")
    input2 = input("input 2")
    
    original = []
    with open('test.csv', 'r') as f:
       reader = csv.reader(f)
       original = list(reader)
    
    data = [input1,input2]
    original.append(data)
    
    with open('test.csv', 'w') as f:
       writer = csv.writer(f)
       writer.writerows(original)
    

例如,如果'cat'和'dogs'在文件中,并且我输入'zebras'和'giraffes',我希望当我在记事本中打开它时csv看起来像这样: link

但是,当我不止一次运行代码时,列表之间产生了空行,我不知道为什么。 link

我是Python新手,感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

解决方案是:

open('test.csv', 'w', newline='')

在新版本的Python中csv.Writer现在处理换行符,但open也可以。然后你必须告诉open写入文件时不能添加换行符。有关详细说明,请参阅API documentation