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

Python:使用dictwriter,但设置值类型?,python,csv,types,Python,Csv,Types,我刚开始学习Python和stackoverflow,请原谅我的错误 我正试图在我的一个项目中使用dictreader和dictwriter。基本上我有一本歌曲字典,里面有很多键(比如名字、艺术家、播放次数、歌曲标签) 问题是,当我将dictwriter馈送到一个文件中时,它接受每个键,并将类型字符串应用于值 这对于playcount来说不是问题,我可以说int(),但是对于歌曲标记,我有一个元组列表,它显示标记的次数 例如:[(摇滚乐,50),(摇滚乐,50)] 现在,当我从我的文件中读取此内

我刚开始学习Python和stackoverflow,请原谅我的错误

我正试图在我的一个项目中使用dictreader和dictwriter。基本上我有一本歌曲字典,里面有很多键(比如名字、艺术家、播放次数、歌曲标签)

问题是,当我将dictwriter馈送到一个文件中时,它接受每个键,并将类型字符串应用于值

这对于playcount来说不是问题,我可以说int(),但是对于歌曲标记,我有一个元组列表,它显示标记的次数 例如:[(摇滚乐,50),(摇滚乐,50)]

现在,当我从我的文件中读取此内容时,[“tags”]行的类型为string。。。我不知道如何让它有适当的类型


我还没有尝试过的解决方案是在字符串中搜索a(,然后是a),并将其附加到一个新列表中,然后执行此操作,直到我遍历了所有标记。。。但是似乎应该有一个更简单的方法…

如果CSV包含基本Python类型的表示,那么您可以使用它将其转换为Python类型。

等等,您是说它字面上说“[(Rock,50),(Roll,50)]”?本质上!这里有一个字面上的例子:“[(u'pop',100),(u'dance',85)]”作为str。我希望它是一个元组列表,而不是当然的!。。。你知道我花了很多时间想弄明白,这正是我想要的。语言无法表达我的感谢。而且,它还能工作@Paul:“问题是,当我将dictwriter馈送到文件中时,它会接受每个键并将类型字符串应用于值。”“最好不要首先编写这样的文件。”。也许你应该问另一个问题,显示你的代码“将dictwriter输入到文件中”,我们可以帮助你理顺这个问题。@John:基本上我正在制作一个播放列表生成器,它根据歌曲的相似性采用不同的算法并制作播放列表。问题是,为了获得歌曲标签的一个主要方面的相似性,我利用Last.fm的pylast模块下载标签。这需要永远;下载标签后,我试图将您下载的歌曲保存在csv文件中。因此,下次你用这些歌曲制作播放列表时,你可以从文件中提取。但是,从文件中提取出来的是字符串,而不是我所需要的!ast.literal_eval()解决了problem@Paul:您没有抓住要点:是您编写CSV文件的方式导致了问题。不要那样做。没有其他人编写需要ast.literal_eval()解析的CSV文件。寻求帮助。@John:从本质上说,这是项目的一小部分,不值得花很多时间。我知道这就是问题所在,因此我最初提出了这个问题,但这真的不重要,因为这是可行的,我不担心这个的性能或风格。我在寻求帮助。因此我在Stackoverflow上。。。