Python 在csv文件中搜索元组
我们有一个csv文件:Python 在csv文件中搜索元组,python,csv,tuples,Python,Csv,Tuples,我们有一个csv文件: 1, 3, 4, 6 5, 3, 1, 9 3, 2, 4, 1 例如,我们有一个包含n个项的元组。例如,如果n=2我们有一个类似(1,3)的元组 我们如何找到(1,3)在CSV文件中存在多少次?在本例中,(1,3)存在2次。第1行为(1,3),第2行为(3,1)。如果我们有一个包含n项的元组,那么在Python中如何做到这一点 首先,在中读取您的CSV文件。我想它会留在记忆中。 然后使用字典计算元组的出现次数。为了方便起见,我使用defaultdict。 csv=[[
1, 3, 4, 6
5, 3, 1, 9
3, 2, 4, 1
例如,我们有一个包含n个项的元组。例如,如果n=2
我们有一个类似(1,3)
的元组
我们如何找到(1,3)在CSV文件中存在多少次?在本例中,
(1,3)
存在2次。第1行为(1,3)
,第2行为(3,1)。如果我们有一个包含n
项的元组,那么在Python中如何做到这一点 首先,在中读取您的CSV文件。我想它会留在记忆中。
然后使用字典计算元组的出现次数。为了方便起见,我使用defaultdict。
csv=[[j.strip()表示i.split(',')中的j]表示csv.splitlines()中的i]
然后有两种方法:
import collections
import operator
a = collections.Counter([tuple(sorted(i)) for i in reduce(operator.add,[zip(line[0:-1],line[1:]) for line in csv])]).most_common()
或
我更喜欢第一种方法,因为它是经过排序的,尽管看起来有点神秘。a产生:
[(('1', '3'), 2),
(('2', '3'), 1),
(('4', '6'), 1),
(('3', '5'), 1),
(('1', '4'), 1),
(('3', '4'), 1),
(('1', '9'), 1),
(('2', '4'), 1)]
[(('1', '3'), 2),
(('2', '3'), 1),
(('4', '6'), 1),
(('3', '5'), 1),
(('1', '4'), 1),
(('3', '4'), 1),
(('1', '9'), 1),
(('2', '4'), 1)]