如何在python中的列表中的列和行中将数据写入csv文件?

Gia*_*nou 15 python csv list

每个人.我有一个列表列表,我想把它们写在一个带有列和行的csv文件中.我已经尝试了写作者,但这不是我想要的.我的列表的例子如下:

[[1, 2], [2, 3], [4, 5]]
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助.

有了这个 :

example=csv.writer(open('test.csv', 'wb'), delimiter=' ')
example.writerows( [[1, 2], [2, 3], [4, 5]])
Run Code Online (Sandbox Code Playgroud)

我在一个细胞中获得1 2,在细胞中获得2 3等.在细胞中不是1,在下一个细胞中是2.

我应该更清楚.我需要将这个示例列表写入文件,所以当我用excel打开它时,每个元素都在它自己的单元格中.我的输出应该是这样的:

1 2
2 3
4 5
Run Code Online (Sandbox Code Playgroud)

不同细胞中的每个元素.

hel*_*ker 15

提供的示例,使用csv模块,非常棒!此外,您始终可以使用格式化字符串简单地写入文本文件,如下面的示例:

l = [[1, 2], [2, 3], [4, 5]]

out = open('out.csv', 'w')
for row in l:
    for column in row:
        out.write('%d;' % column)
    out.write('\n')
out.close()
Run Code Online (Sandbox Code Playgroud)

我用作;分隔符,因为它最适合Excell(您的要求之一).

希望能帮助到你!

  • 你有一个额外的;在每一行的末尾。一次写入一个单元格很笨拙。一种 ; 在使用逗号作为小数点的区域设置中,Excel **ONLY** 效果最佳。当他需要的只是对他对“csv.writer”的调用进行一些调整时,为什么要向 OP 展示这个 DIY 的东西? (2认同)

Joh*_*hin 11

>>> import csv
>>> with open('test.csv', 'wb') as f:
...     wtr = csv.writer(f, delimiter= ' ')
...     wtr.writerows( [[1, 2], [2, 3], [4, 5]])
...
>>> with open('test.csv', 'r') as f:
...     for line in f:
...         print line,
...
1 2 <<=== Exactly what you said that you wanted.
2 3
4 5
>>>
Run Code Online (Sandbox Code Playgroud)

要获得它以便Excel可以合理地加载它,您需要使用逗号(csv默认值)作为分隔符,除非您在需要分号的区域设置(例如欧洲)中.