【问题标题】:Having trouble writing data to csv file in python在 python 中将数据写入 csv 文件时遇到问题
【发布时间】:2013-12-14 21:07:39
【问题描述】:

我想将我的一些数据输出到一个 csv 文件,以便我可以在 excel 中打开它。但是,我什至无法让我的简单示例工作。这就是我所拥有的:

import csv

with open('test.csv','wb') as csvfile:
    writer = csv.writer(csvfile, delimiter='\t')
    writer.writerow(['hi'] + ['how'] + ['goes'] + ['it'])

我希望我的单词用制表符分隔,这样当我在 excel 中打开文件时,每个单词都会变成一个新列。

【问题讨论】:

  • 您的解决方案有什么问题?顺便说一句,excel默认分隔符不是制表符,而是分号。可以加载表格分隔的数据,但有点棘手。
  • 您的代码肯定会写入行hi\thow\tgoes\tit\r\n,但可以使用writer.writerow(['hi', 'how', 'goes', 'it']) 使其更简单您具体有什么问题?
  • 请注意,default 方言已经是 Excel CSV 方言。您确定要在此处使用制表符作为分隔符吗?您还可以使用dialect='excel-tab' 获取预先配置的制表符分隔的 Excel 方言。
  • 最后但同样重要的是,您使用的是 Python 2 还是 3?如果是 Python 3,那么您需要打开文件对象略有不同:with open('test.csv', 'w', newline='') as csvfile:
  • @RDolabh:在这种情况下,只需省略整个 delimiter 参数;逗号是默认的。

标签: python csv


【解决方案1】:

您是否在使用 Python 3 并获得 TypeError: 'str' does not support the buffer interface?

这个帖子回答了这个问题。 Python3: writing csv files

如果您在 2 上,逗号适用于我的 excel,这不是问题:

import csv

with open('test.csv', 'wb') as csvfile:
    writer = csv.writer(csvfile)
    writer.writerow(['hi', 'how', 'goes', 'it'])

嗯,Martijn 发布了同样的内容,但更早。给他点个赞,不要接受。

【讨论】:

    猜你喜欢
    • 2021-11-27
    • 2019-02-20
    • 1970-01-01
    • 2016-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-06
    • 1970-01-01
    相关资源
    最近更新 更多