write()参数必须是str,而不是list

时间:2018-05-24 11:53:21

标签: python python-3.x

我正在尝试使用python 3.6.2编写一个注册程序,我收到以下错误:write() argument must be str, not list

以下是代码:

database = open('database.csv', 'a')
linetowrite = ['username', 'password', 'forename', 'surname', 'dob', 'artist', 'genre']
database.write(linetowrite)
database.close()

1 个答案:

答案 0 :(得分:2)

您正在使用列表调用database = open('database.csv', 'a') linetowrite = ['username', 'password', 'forename', 'surname', 'dob', 'artist', 'genre'] database.write(",".join(linetowrite)) database.close() ,错误消息非常简单。为了使这项工作简单(但不一定正确),您可以将列表转换为如下字符串:

{{1}}

最好使用合适的CSV库,例如:NgOptions。否则,您最终可能会遇到转义错误(如果您的某个字段包含逗号,该怎么办?)。