将列表元素打印到.csv文件

4 投票
4 回答
13973 浏览
提问于 2025-04-16 01:10

我正在读取一个csv文件,并把每一行当作一个列表来处理。最后,我想把这些内容重新写入一个.csv文件,但每行的长度可能不一样。我显然不能直接用"print row",因为这样会把它打印成一个列表。那我该怎么才能把它以.csv格式打印出来呢?

4 个回答

0

虽然看起来你的问题更像是关于如何写入一个csv文件,而不是如何把它打印到标准输出,但这里有一个例子可以展示后者,使用了StringIO:

import StringIO
import csv

a_list_from_csv_file = [['for', 'bar'], [1, 2]]
out_fd = StringIO.StringIO()
writer = csv.writer(out_fd, delimiter='|')
for row in a_list_from_csv_file:
    writer.writerow(row)
print out_fd.getvalue()

这样你就可以使用不同的分隔符或者转义字符,这些都是你在读取csv时可能用到的。

7

看看说明书吧,里面有一个写CSV文件的方法(还有例子)。别直接打印数据,先把它们存起来,然后再写入CSV文件。

http://docs.python.org/library/csv.html#csv.writer

4

假设“row”是一个包含字符串的列表,你可以试试下面的代码:

print ",".join(row)

撰写回答