Python将列表写入CSV

0 投票
2 回答
548 浏览
提问于 2025-05-01 17:51

我有一段代码,想把一个列表(里面又是列表)写入到一个csv文件中,每个子列表应该作为新的一行写入csv文件:

    resultFile = open("E:/tmobile/CR_Accuracy/cycle7/pp/output.csv",'wb')
    wr = csv.writer(resultFile, dialect='excel')
    for item in result:
      wr.writerow([item,])

但奇怪的是,代码执行完后,csv文件却是空的。这里有一些从'Watch'中复制的列表项的例子,使用的是PyCharm:

    (7031482579417L, 'Payment', 'Yes', 'Yes - Both')
    (7031482579417L, 'Rate Plan OR Plan Fit Analysis', 'Yes', 'Yes - System')
    (7031482579417L, 'Credits and Adjustments', 'Yes', 'Yes - Both')
暂无标签

2 个回答

0

你给的代码似乎没有关闭文件。可能是因为在程序结束之前,Python没有来得及把文件里的内容写入。如果是这样的话,调用 resultFlie.close() 这个方法应该能解决问题。

1

如果这个列表是一个元组的列表,那就直接传递 item,而不是把 item 放在一个列表里。另外,正如theharshes提到的,确保你已经关闭了文件。

with open("E:/tmobile/CR_Accuracy/cycle7/pp/output.csv",'wb') as resultFile:
    wr = csv.writer(resultFile, dialect='excel')
    for item in result:
        wr.writerow(item)

或者可以更简洁地使用 csvwriter.writerows

with open("E:/tmobile/CR_Accuracy/cycle7/pp/output.csv",'wb') as resultFile:
    wr = csv.writer(resultFile, dialect='excel')
    wr.writerows(result)

撰写回答