Python将列表写入csv,可以';不要将值放入列中

Python将列表写入csv,可以';不要将值放入列中,python,csv,Python,Csv,我有以下国家名单: country = ['Togo', 'Nauru', 'Palestine, State of', 'Malawi'] 我正在尝试将其写入csv: with open('temp.csv', 'wt') as output_write: csvout = csv.writer(output_write) csvout.writerow(country) output_write.close() 但是,输出将值放入csv中的行而不是列中。有人能告诉

我有以下国家名单:

country = ['Togo', 'Nauru', 'Palestine, State of', 'Malawi']
我正在尝试将其写入csv:

with open('temp.csv', 'wt') as output_write:
    csvout = csv.writer(output_write)
    csvout.writerow(country)
    output_write.close()
但是,输出将值放入csv中的行而不是列中。有人能告诉我怎么改吗

提前谢谢


我遵循了下面的一些建议,输出的行与行之间有空行:

我使用的代码是:

import csv
country = ['Togo', 'Nauru', 'Palestine, State of', 'Malawi']
with open('temp.csv', 'wt') as output_write:
    csvout = csv.writer(output_write)
    for item in country:
        csvout.writerow((item, ))

更新:

我想我得到一个空行的原因是因为每一行都是因为windows对新行的解释不同。最终对我有效的代码是:

import csv
country = ['Togo', 'Nauru', 'Palestine, State of', 'Malawi']
with open('temp.csv', 'w', newline = '') as output_write:
    csvout = csv.writer(output_write)
    for item in country:
        csvout.writerow((item, ))
找到有关空行的相关帖子:

尝试以下操作:

country = ['Togo', 'Nauru', 'Palestine, State of', 'Malawi']
with open('temp.csv', 'wt') as output_write:
    csvout = csv.writer(output_write, lineterminator='\n')
    for item in country:
        csvout.writerow((item, ))

如果要将每个项目写入单独的行,则必须遍历列表:

import csv

country = ['Togo', 'Nauru', 'Palestine, State of', 'Malawi']

with open('temp.csv', 'wt') as output_write:
    csvout = csv.writer(output_write, delimiter=',')
    for c in country:
         csvout.writerow([c])
试试这个:

import csv

countries = ['Togo', 'Nauru', 'Palestine, State of', 'Malawi']

with open('temp.csv', 'w') as output_write:
    csvout = csv.writer(output_write, lineterminator='\n')
    for country in countries:
         csvout.writerow([country])

您正在调用的函数的名称是
writerow
。为什么你希望写一个列呢?我同意@Shadow,这个函数的名字很明显是它写一行而不是一列,这样更好:)谢谢。但是,这会在每个记录之间产生一个空行。有没有办法消除空行?没有,它不会生成任何空行@vivi11130704。我只是跑了it@vivi11130704:我已经在Jupyter笔记本中运行了代码。生成的csv没有空行。也许你的csv阅读器有问题?您能在纯文本编辑器中打开生成的CSV文件吗?要防止出现空行,请使用
csvout=CSV.writer(output\u write,lineterminator=“\n”)
。它可能会导致错误,也可能不会导致错误-但使用会关闭文件。手工操作不是错误就是多余的。谢谢。但是,这会在每个记录之间产生一个空行。有没有办法消除这些空行?@vivi11130704在我的案例中我没有看到空行(除了结尾的那一行)。我更新了我的原始帖子,加入了我得到的截图。不知道为什么我得到的结果与其他人不同。我正在使用jupyter笔记本。@我发现它不会崩溃:)