Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在csv文件中搜索元组_Python_Csv_Tuples - Fatal编程技术网

Python 在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=[[

我们有一个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)]