连接字符串并写入cvs会得到“”和“”(

2024-09-29 00:22:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我将两个字符串连接在一起,并将它们打印到csv,结果如下

"('Hail, Caesar!', '2016')"
"('Pride and Prejudice and Zombies', '2016')"
"('Home Invasion', '2016')"

但我想要这样

Hail, Caesar!,2016
Pride and Prejudice and Zombies, 2016

我的实际代码是

for u in response_data:
    titolo = u['title'].encode('utf-8')
    anno = u['release_date']
    anno1 = str(anno[:4])
    output = titolo, anno1
    writertitolo.writerow([output])

我怎样才能解决这个问题?response_数据是一个JSON响应


Tags: andcsv字符串homeoutputresponsecaesaranno
2条回答

^{}接受一个iterable并写入该iterable的元素

在您的例子中,output已经是titoloanno1的元组。因此,当您编写[output]时,实际上会得到[(titolo, anno1)],这是一个带有单个元组的列表。因此,当您编写这一项时,它将转换为字符串,从而导致您看到的结果

相反,您希望直接传递元组:

writertitolo.writerow(output)

尝试将代码更改为:

for u in response_data:
    titolo = u['title'].encode('utf-8')
    anno = u['release_date']
    anno1 = str(anno[:4])
    output = titolo, anno1
    writertitolo.writerow(output)

当你这样做的时候

output = titolo, anno1

output将包含值(titolo, anno1)

现在,您正在向csv写入的内容是

[output]

这将转化为[(titolo, anno1)]

您需要写入csv的是[titolo, anno1]

相关问题 更多 >