在Python中,如何基于多值列多次返回记录

在Python中,如何基于多值列多次返回记录,python,multivalue,Python,Multivalue,在Python中,我有以下数据。(注意:下面我以表格格式显示数据,以便于阅读,但数据实际上是一个格式正确的csv文件。) 我想得到如下列表 #action Fury #cartoon Shrek #comedy Cinderfella #comedy Galaxy Quest #comedy Shrek #comedy Spaceballs #fantasy Shrek #space Galaxy Quest #space Spaceballs #war

在Python中,我有以下数据。(注意:下面我以表格格式显示数据,以便于阅读,但数据实际上是一个格式正确的csv文件。)

我想得到如下列表

#action   Fury
#cartoon  Shrek
#comedy   Cinderfella
#comedy   Galaxy Quest
#comedy   Shrek
#comedy   Spaceballs
#fantasy  Shrek
#space    Galaxy Quest
#space    Spaceballs
#war      Fury
请注意,只有5个电影标题,并且每个电影可以有多个标记。我需要把电影唱片分成10行。因此,一部电影的每个标签都有一行输出。输出中的两行显示“愤怒”。史莱克3号等等

我该怎么做

谢谢您的帮助。

查看评论

代码:

输出:

['#action', 'Fury']
['#war', 'Fury']
['#cartoon', 'Shrek']
['#comedy', 'Shrek']
['#fantasy', 'Shrek']
['#comedy', 'Spaceballs']
['#space', 'Spaceballs']
['#comedy', 'Cinderfella']
['#comedy', 'Galaxy Quest']
['#space', 'Galaxy Quest']
    

请提供一些“格式正确的”.csv的示例行-如果人们不知道实际的源数据是什么样子,他们就无法真正帮助您。你自己试过什么?你认为使用它会带来什么问题?展示你的尝试。这就是“没有研究工作”的定义。这里很少有人会坐下来为您编写代码。不确定正确格式化的csv是什么意思。数据实际上位于SQL数据库中。我们使用Python、Flask和Javascript收集数据,并将其写入数据库。这是数据库中的三个主要列或字段。我显示csv文件只是为了简化解释。真正的问题是如何使用多值列并为每个值创建一行。我没有代码可以显示,但我做了研究。我找不到有意义的代码。我是python的新手,我发现它非常复杂。在过去,当我查找解决问题的方法时,我发现的解决方案相当简单易懂。在这种情况下不行。谢谢你的帖子。看起来很简单。我会测试并让你知道它是否对我们有用。
m_list = []
with open("data.csv", "r") as f:
    out = f.readlines()
    for line in out[1:]:  # skip the heading using 1:
        ID,Movie,tags = line.rstrip().split(',') # rstrip to remove newline character
        m_list += [[tag,Movie] for tag in tags.split()]
for m in m_list:
    print(m)
['#action', 'Fury']
['#war', 'Fury']
['#cartoon', 'Shrek']
['#comedy', 'Shrek']
['#fantasy', 'Shrek']
['#comedy', 'Spaceballs']
['#space', 'Spaceballs']
['#comedy', 'Cinderfella']
['#comedy', 'Galaxy Quest']
['#space', 'Galaxy Quest']