我有一个名为data的csv,看起来像这样(但是有几百条记录):
Id Value
1k {'asadf', 'copklj', 'glkjkj', 'hsijlk'}
2j {'boilk', 'dljk', 'aasadf'}
6k {'eljkj', 'tljkjlk', 'jljlij'}
我想遍历每一行,看看该行中的值(第2列)是否匹配,或者是我拥有的另一个集合的超集。为此,我使用以下代码提取每行的值:
i = 1
x = data['Value'].iloc[i]
我计划在一个循环中使用它,每次它迭代时都会向变量i
添加1。然而,每当我做type(x)
的时候,它就变成了str
。为了改变这一点,使我可以比较我的另一套,我都做了
x = set(x)
以及
x = set([x])
第一个出来时所有的字母都分开了。第二个出来了
{"{'asadf', 'copklj', 'glkjkj', 'hsijlk'}"}
我想要的输出是
{'asadf', 'copklj', 'glkjkj', 'hsijlk'}
这样我就可以比较这一套和另一套了。如何更改代码以实现此目的?你知道吗
当您将数据保存到CSV文件中时,由于CSV文件不支持集合,因此集合被转换为字符串。可以使用
ast
将字符串转换回集合:读取CSV文件时,请使用转换器将其重新设置为一个集合,然后应用子集操作,例如:
相关问题 更多 >
编程相关推荐