Python:使用dictwriter,但设置值类型?

0 投票
1 回答
543 浏览
提问于 2025-04-16 16:19

我刚开始学习Python和使用stackoverflow,请原谅我可能犯的错误...

我正在尝试在我的项目中使用dictreader和dictwriter。简单来说,我有一个包含很多信息的歌曲字典,比如歌曲名称、艺术家、播放次数和歌曲标签等。

问题是,当我把dictwriter写入文件时,它会把每个键的值都当成字符串来处理。

这对播放次数来说没问题,我可以直接用int()转换,但对于歌曲标签,我有一个元组列表,显示标签和被标记的次数。例如:[(Rock, 50), (Roll, 50)]。

现在,当我从文件中读取这些数据时,row["tags"]的类型变成了字符串……我不知道怎么才能让它变成正确的类型。

我有一个有点傻的解决办法,虽然我还没试过,就是在字符串中查找“(”和“)”的出现,然后把它们加到一个新列表里,直到我遍历完所有标签……但我觉得应该有更简单的方法……

1 个回答

2

如果你的CSV文件里面包含的是基本的Python数据类型的表示,那么你可以使用 ast.literal_eval() 这个方法来把它转换成Python的数据类型。

撰写回答