python写出来到csv文件

时间:2017-03-09 20:41:41

标签: python csv

我是python的初学者。如何修改下面的代码,将列表写入具有2列输出的csv文件,如下所示。

1 1
2 1
3 1
4 1
5 1

现在,输出低于

(1, 1)
(2, 1)
(3, 1)
(4, 1)
(5, 1)


list = [(1,1),(2,1),(3,1),(4,1),(5,1)]
with open(test.csv, 'wb') as testfile:
    csv_writer = csv.writer(testfile)
    for i in list:
        csv_writer.writerow([i])

非常感谢您的帮助。

4 个答案:

答案 0 :(得分:0)

您正在将文件写入文件,而不是文件的每个元素。试试这个。如果这给你一个错误,请告诉我。

list = [(1,1),(2,1),(3,1),(4,1),(5,1)]
with open(test.csv, 'wb') as testfile:
    csv_writer = csv.writer(testfile)
    for i in list:
        csv_writer.writerow(i[0] + ' ' + i[1])

答案 1 :(得分:0)

import csv
list = [(1,1),(2,1),(3,1),(4,1),(5,1)]
with open('test.csv', 'wb') as testfile:
    csv_writer = csv.writer(testfile)
    for i in list:
        csv_writer.writerow(str(i[0])+' '+str(i[1]))

答案 2 :(得分:0)

您的列表由成对组成,只需对其进行迭代并将该对传递给字符串模板进行格式化:

import csv
list = [(1,1),(2,1),(3,1),(4,1),(5,1)]
with open('test.csv', 'wb') as testfile:
    csv_writer = csv.writer(testfile)
    for pair in list:
        csv_writer.writerow('%d %d' % pair)

答案 3 :(得分:0)

csv.writer方法采用可迭代的方式。 i变量已经是一个元组,所以你不需要把它变成一个列表。通过将i括在[]中,您将其转换为元组列表:[(1,2)]。然后csv.writer获取你的列表并将其拆分为行中第一项的(1,2)元组。

假设您想要一个分隔符空格而不是逗号,您需要执行以下操作:1)在对csv.writer的调用中添加分隔符参数和2)删除括号。

此外,您可能希望将打开文件的方式更改为“只是”。 CSV文件应该是纯文本,因此您可能不想将其写为二进制文件。

以下是我将如何更改代码。

list = [(1,1),(2,1),(3,1),(4,1),(5,1)]
with open('test.csv', 'w') as testfile:
    csv_writer = csv.writer(testfile, delimiter=' ')
    for i in list:
        csv_writer.writerow(i)