2015-07-16 1 views
1

У меня возник вопрос о том, сколько раз определенное число принадлежит определенному элементу.Подсчитайте элементы в файле csv с помощью python

Позвольте мне объяснить это лучше, используя пример. Во-первых, я получил эту ситуацию в моей CSV-файла: Capture from my csv file

То, что я хочу, что в Python Мне нужно иметь следующие результаты:

  • 1 с 1200 4 (раз видны)
  • 1 с 5600 в 5 раз (видимые)
  • 2 с 1400 (3 раза)
  • видимые
  • 2 с 1600 (2 раза) видимые

Может ли кто-нибудь помочь мне получить этот результат?

код, который у меня есть недо теперь просто загружая файл CSV:

with open('calculate_ids.csv') as csvfile: 
    reader = csv.reader(csvfile, delimiter=',', quotechar='|') 

ответ

2

использовать счетчик отображения строк в кортежи:

from collections import Counter 
with open('calculate_ids.csv') as csvfile: 
    reader = csv.reader(csvfile, delimiter=',', quotechar='|') 
    counts = Counter(map(tuple,reader)) 

Это счетчик ДИКТ подсчитает, сколько раз каждое спаривание появляется.

Чтобы увидеть отсчеты только перебирать .items, и вы будете видеть каждое спаривание в качестве ключа и подсчета в качестве значения:

for k, v in counts.items(): 
    print("{} and {} are paired {} time(s)".format(k[0], k[1], v)) 
+0

Спасибо! :) Я собираюсь попробовать это! Ответит, если это сработает! Благодаря! :) – Rotan075

+0

@ Rotan075, не стоит беспокоиться, единственная проблема заключается в том, могут ли цифры отображаться в обоих столбцах, номера в каждом столбце когда-либо перекрываются? –

+0

Файл csv не содержит: 1,1 (column1, column2). как то же значение для colum1 и column2 не появляется. Возникает сценарий наличия: 1,2 и более поздних версий файла csv 2,1. Это проблема? – Rotan075

Смежные вопросы