首页 > 解决方案 > 如何将列表保存在 .csv 文件的列中而不是行中?

问题描述

我想在 .csv 中保存一个列表。我有语法,但它保存在行而不是列中。请给建议。提前致谢。我的语法是:

import csv
n=0
x=[]
while n < 10:
    n = n+1
    x.append(n)
with open('test.csv','w') as file:
    writer = csv.writer(file)
    writer.writerows([x])
print(x)

标签: pythoncsv

解决方案


函数的方式writerows是它接受一个可迭代对象(在本例中是一个列表)并在其自己的行上打印该可迭代对象上的每个项目,并由分隔符分隔(默认情况下为 a ,

这里发生的是您正在传递,这意味着要写出[[1,2,3,4,5,6,7,8,9,10]]一行 ( )。[1,2,3,4,5,6,7,8,9,10]

如果要将每个项目写入其自己的行,则需要将每个项目作为其自己的列表提供:

import csv
n = 0
x = []
while n < 10:
    n = n+1
    x.append([n])

print(x)
with open('test.csv', 'w') as file:
    writer = csv.writer(file)
    writer.writerows(x)

在这里,我在最后一行中取出了[]周围x并将它们移入以x.append([n])创建x[[1], [2], [3], [4], [5], [6], [7], [8], [9], [10]]


推荐阅读