Как считать персонажей из csv? - PullRequest
0 голосов
/ 16 ноября 2018

У моего CSV есть данные ниже

['value']
['abcd']
['def abc']

Я хочу подсчитать каждый символ в порядке убывания значения, значение - это заголовок в файле CSV.Я написал один сценарий ниже.Есть ли лучший сценарий, чем этот?

from csv import DictReader
with open("name.csv") as f:
    a1 = [row["value"] for row in DictReader(f)]
#a1
from collections import Counter
counts = Counter()
for line in a1:
    counts.update(list((line)))
    x=dict(counts)
from collections import defaultdict
d = defaultdict(int)
for w in sorted(x, key=x.get, reverse=True):
  print (w, x[w])

1 Ответ

0 голосов
/ 18 ноября 2018
from collections import defaultdict
path = "name.csv"
d_list = defaultdict(int)

with open(path, 'r') as fl:
    for word in fl:
        for ch in word:
            #if word[0] == ch:
               dd[ch] += 1

del d_list['\n']
del d_list[' ']
#print (d_list)

dd = sorted(d_list.items(), key=lambda v:v[1], reverse=True)
#dd_lex = sorted(dd, key = lambda k: (-k[1],k[0]))

for el in dd:
    print (el[0] + ' '+ str(el[1]))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...