CSV列表的书写在Python 2.7中不起作用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CSV列表的书写在Python 2.7中不起作用相关的知识,希望对你有一定的参考价值。

我已使用模块3to2将python3代码转换为python2,现在无法写入CSV文件。

TypeError: must be unicode, not str转换后的代码

 def writeCSV(self,filepath,data):
        with open(filepath, u'a', newline=u'') as file:
            writer = csv.writer(file)
            writer.writerow(data)

传递的数据是['10 / 06/2020 04:28:57 AM','HCL Docker',u'Down']。我可以知道如何解决这个问题吗?

答案

在列表中:

['10/06/2020 04:28:57 AM', u'HCL Docker', u'Down']

如错误消息所述,第一项必须为unicode,而不是str。如您所见,Unicode前缀为u,如下所示:u'HCL Docker'

因此您应确保data中的每个项目均为unicode。您可以像这样将所有内容转换为unicode

writer.writerow(map(unicode, data))

以上是关于CSV列表的书写在Python 2.7中不起作用的主要内容,如果未能解决你的问题,请参考以下文章

用逗号结束 python 2.7 打印语句在 tmux 中不起作用吗?

多处理在python web-scraping中不起作用

导出到 CSV/Excel 功能在 Datatable 中不起作用?

否定前瞻断言在python中不起作用[重复]

Javascript/ jQuery:以 CSV 格式导出数据在 IE 中不起作用

SQL 联接查询在 PowerShell 中不起作用